打印
[新唐博主]

MCU中的常用概念、编程技巧、硬件等

[复制链接]
836|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tpgf|  楼主 | 2024-2-6 10:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
“bsp”
即Board Support Packet (板级支持包):跟特定的开发板有关

头文件中的硬件宏定义
在编写程序的过程中,要考虑更改硬件环境的情况,一般把硬件相关的部分使用宏来封装,若更改了硬件环境,只修改这些硬件相关的宏即可,这些定义一般存储在头文件

“Doxygen” 注释规范

这是一种名为“Doxygen” 的注释规范, 如果在工程文件中按照这种规范去注释,可以使用Doxygen软件自动根据注释生成帮助文档

条件编译
防止头文件重复包含,编译时就不会出现“redefine(重复定义)”的错误了

C语言续行符
代码中的“\”是C 语言中的续行符语法,表示续行符的下一行与续行符所在的代码是同一行,在“\”后面不能有任何字符(包括注释、空格),只能直接回车

通过条件编译,注释掉代码


编译器优化


这段代码在每个结构体成员前增加了一个“__IO”前缀,它的原型在这段代码的第一行,代表了C 语言中的关键字“volatile”,在C语言中该关键字用于表示变量是易变的,要求编译器不要优化。这些结构体内的成员,都代表着寄存器,而寄存器很多时候是由外设或STM32 芯片状态修改的,也就是说即使CPU 不执行代码修改这些变量,变量的值也有可能被外设修改、更新,所以每次使用这些变量的时候,我们都要求CPU去该变量的地址重新访问。若没有这个关键字修饰,在某些情况下,编译器认为没有代码修改该变量,就直接从CPU 的某个缓存获取该变量值,这时可以加快执行速度,但该缓存中的是陈旧数据,与我们要求的寄存器最新状态可能会有出入

stdint.h,uint32_t,uint16_t…



这是一个ANSI C文件,是独立于处理器之外的,这些新类型定义屏蔽了在不同芯片平台时,出现的诸如int的大小是16位,还是32位的差异。建议使用stdint.h中的类型定义等。
u8、u16、u32这样的类型,分别表示的无符号的8 位、16位、32位整型,它们定义的位置在STM32f10x.h文件中

RS-232- TTL“电平转换芯片”(MA3232\SP3232芯片)


RS-232电平标准的信号不能直接被控制器直接识别,这些信号会经过一个“电平转换芯片”(MA3232\SP3232芯片)转换成控制器能识别的“TTL标准”的电平信号,才能实现通讯

USB-TTL“电平转接芯片”(CH340G、CH340、PL2303、CP2102、FT232)
CH340G、CH340、PL2303、CP2102、FT232:电平转接芯片,USB转TTL的IC,利用USART实现开发板与电脑通信

华邦W9825G6KH
SRAM适合做高速缓存或MCU内部的RAM。STM32最常用的是华邦W9825G6KH

WM25QXX
SPI FLASH

头文件包含方式



第二种方法不用再在keil添加头文件路径

IS62WV51216
STM32F103/F407常用的IS62WV51216这颗SRAM芯片

喂狗
当独立看门狗IWDG的值从某个值一直减到0时,系统会产生一个复位信号(IWDG_RESET)。如果在计数没减到0之前,刷新了计数器的值的话,那么就不会产生复位信号,这个动作就是喂狗

窗口看门狗计数器的值必须在上窗口和下窗口之间才可以喂狗

程序跑飞
比如一个程序正常运行的时间是50ms,在运行完这个段程序之后紧接着进行喂狗,设置独立看门狗的定时溢出时间为60ms,比需要监控的程序50ms多一点,如果超过60ms还没有喂狗,那就说明监控的程序跑飞了,那么就会产生系统复位,让程序重新运行

一个程序段正常运行的时间是50ms,在运行完这个段程序之后紧接着进行喂狗,如果在规定的时间窗口内还没有喂狗,那就说明我们监控的程序跑飞了,那么就会产生系统复位,让程序重新运行
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/yang_electric/article/details/132058826

使用特权

评论回复
沙发
598330983| | 2024-2-12 21:45 | 只看该作者
可以定义预编译:如果定义了开发板,就定义开发板的配置内容。

使用特权

评论回复
板凳
643757107| | 2024-2-19 21:23 | 只看该作者
做好自己的模块更有意义。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1360

主题

13960

帖子

8

粉丝