单独写这些是有意义的,因为采用mbed方法尽管简单,但必须先将前期工作做好了,否则后患总有。 1、打开IAR7.8软件,菜单/Project/Add Exicting Project/浏览到常见的项目目录位置,可以看到源目录少儿整洁。见图301。 2、打开后的工程文件就多了去了,一屏显示不下,这就不用管他了。我们关心的是如何将开发平台设置好。见图302。 3、右击左边Files下的nucleof412Iarmbed项目文件夹,在弹出的对话框Option for node "nucleof412Iarmbed" Category下的点击第一行的/General Option:按照图示选择本开发的芯片是ST STM32F412ZG,见图303。选择后的结果见图304。 4、接着点击左边下边的 C/C++ Compiler/Preprocesser,查看默认文件夹是否配置,如果将来自己创建了Include文件,最好也创建一个文件夹,并且在这里标示出来,以保证在主文档中不会报错。见图305。 5、点击左边下边的Debugger,按照图306所示选择板载仿真和下载器:ST-Link,单击右边标题的Download,按照图307勾选,红色框是必选。 6、点击左边下边的ST-Link,按照图308下载工具模式,红色框必选。完成后单击OK按钮就将工程项目选项设置完成了。 到此为止,还是不能开发的,因为这个工程师用F411的芯片,他们之间还有一些不同,这里就体现了ARMmbed的优势——与底层无关。只需要将PinName.h文档的管脚与实际开发板的管脚一一对应上就Ok了。 7、打开main.cpp主函数,单击函数前边的+号,展开其连接的文件,找到PinNames.h文档,双击打开,见图309。 注意!改写这个文档需要看412芯片的技术手册STM32F412 advanced ARM ? -based 32-bit MCUs_ENV4.pdf-和用户手册-STM32F412GZ_User Manual.pdf,重点是后者,了解其管脚的功能和对应位置,一定要正确和准确!此外,板载两边还有两排双2.45mm的焊孔,可以根据需要焊接插针或插孔,但由于这些孔与芯片管脚的逻辑位置不是连续的,因此在连续多位并行应用中还需要斟酌选择。在学习这块开发板的初期,一定用不了这么多管脚,因此先将两排按照Arduino兼容排列的管脚找正确即可,打开用户手册,第35页,见图309。 更改前的PinNames.h文档中Arduino定义与改后的定义见图310和图311。 接着更改通用管脚,更改前后的管脚逻辑见图312、图313。 此外,如果需要将所有IO都用上,则必须定义:按照PA_0~PA_15对应0x00~0x0F、PB_0~PB_15对应0x00~0x0F,...,的定义直到PH_01~PH_02,因为PH只有3个IO。 至此,PinNames.h文档改完了,下边就可以进行加电编程测试了。 需要先说明mbed的编程比较简单,但步骤正确会事半功倍的:需要针对哪个模块的操作,需要先打开哪个模块的mbed的模块Include文档,看其中的例子——Examples,按照例子的语句更改就可以了。 本次申请开发板主要用来灯光控制,因此重点是GPIO口的信号输出和输入,IO中断,时序——芯片内部的时钟产生定时和时序控制等,其次需要ADC采样光照强度,结合PWM产生光强输出控制,其他像温度采样等等都是在初期实验的项目。后期需要结合实际设计制作或购买一些电路来具体实现。 |