STM32裸机编程 - HAL库

(1)STM32库开发时,无论是标准库开发方式,还是HAL库开发方式,注意在.c源文件中编写完成功能函数后,在对应的.h头文件中声明函数。例如,在利用CubeMX开发串口完成后,对串口打印函数printf重定向时,将重定向函数fputc()、fgetc()写在usart.c文件后,还需要在usart.h文件中进行声明,并注意在.c、.h文件中添加stdio.h头文件,勾选Use MicroLIB。

(2)I2C通信时,SCL时钟信号线起关键作用,就像脉搏一样控制着SDA线上的数据传输-脉动传输。另外,基于CubeMX开发I2C通信时,不会像使用标准库那样出现STM32硬件问题,不需要使用软件模拟I2C时序。

(3)使用CubeMX开发STM32时一定要注意SYS配置时,Debug项要选择Serial Wire,否则,用JLink(JTAG)仿真器下载程序时,只能下载一次,MCU芯片就会被锁住,第2次下载时,1、只能按住板子上的reset键,让MCU复位检测到JLink,后快速松开reset键,这样程序才能下载到MCU程序存储器中,但下载速度会变慢,2、借助FlyMCU串口下载软件下载正常.hex文件后,重置boot0、boot1解锁MCU完成下载。

(4)Callback Function:回调函数,HAL库开发框架使用了回调机制。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容