首先,非常感谢贵网站开展的这次活动,使我有幸获得了一块STM32F3开发套件。由于最近工作较忙的缘故(单位内部需要考试,100分的题必须考100分,此外还要准备这个月底的职称英语考试),拿到开发板之后只参考STM32F1xx系列处理器的工程模板,结合官方提供的F3系列开发固件建立了自己的工程模板并开发了简单的测试程序。本人觉得在大多数情况下使用标准库函数可以大大减少项目开发和维护的难度,但有几个特殊情况(如LCD驱动中的IO端口快速翻转和端口位操作等)例外。对于一个新的处理器,最好参考官方提供的相关模块例子来使用库函数,不过最稳妥的办法还是用寄存器操作的方式。 通过对官方测试代码和工程结构进行了研究,发现F3系列在软件编程和开发方面与F1系列处理器基本相同(固件库结构基本相同,函数命名方法基本相同,调试方法相同)。所以这里采用了类似的工程结构和文件组织形式。大家可以参考本网站首页的图书专栏中提供的两本书籍(虽然是F3系列处理器,但是本人对比发现基本原理是一样的,代码也有可复制性和参考性)以供参考,有空的话参考官方的F3系列处理器英文数据手册学习相关外设模块与F1系列的差别和如何使用。 下面,是本人总结本周学习心得和对STM32F3系列探索者套件探索之路的规划,不过估计要到下个月才有时间执行了: 1.建立自己的基本工程模板:规范文件管理,弄清官方提供各文件的用途和使用方法; 2.编写简单的流水灯测试程序:理解STM32F3处理器程序编译方法和启动过程(系统时钟配置已由官方文件完成,故main函数开头不用调用相关函数); 3.Systick定时器的使用:使用查询方式实现Systick定时器的延时功能,搞清楚延时时间的计算方法; 4.USART测试程序:实现串口重映射功能,使用标准C语言库函数来实现串口收发;并尝试实现串口的中断方式接收。 5.TFT-LCD底层程序编写:用模拟总线方式编写LCD底层驱动程序(如果有FSMC总线的话就用吧,那更简单),主要实现IO口的位带操作,光标定位,读写寄存器,读写RAM和清屏,窗口显示等基本功能。 6.SPI总线方式驱动触摸屏:用硬件SPI方式驱动触摸屏,并在SPI中断函数中实现坐标点的定位; 7.移植ucGUI III:编写简单的测试代码或者使用官方的测试代码测试LCD接口和触摸屏接口; 8.移植Fatfs:编写简单的SD卡SPI驱动程序,移植Fatfs,通过串口实现文件操作功能; 9.ucOS II移植:开发一个数码相框; 10.编写USB驱动程序:实现SD卡内文件更新。 |
STM32F3 硬件I2C 驱动OLED 求助!!
STM32F303使用定时器触发双ADC常规同步采样模式
哪位大哥传下STM32F334 Nucleo的工程模板给我下
STM32F334 不能串口下载
关于STM32F334的HRTIM分辨率问题
STM32F303+LCD1602程序问题,不只为什么点不亮?
STM32F334的ADC使用问题
STM32F334 HRTIM形成移相全桥波形问题
有用过STM32F373VC的板子么 iic 例程不好使
STM32F3 ADC外部触发采样达不到7.2MSPS
RE:关于STM32F3探索者套件探索之路的规划