STM32F407串口通信基本内容

基本内容使用f4进行串口通信需要相关的配置。由于没带双头usb线,我采用串口3搭配cc2541蓝牙&wifi模块进行透传串口开发。
根据资料所示,我需要进行下面几个步骤:
串口时钟使能,gpio时钟使能设置引脚复用器映射gpio参数初始化,设置复用串口参数初始化,设置波特率,字长,奇偶校验等开启中断,初始化nvic并使能使能串口编写中断处理函数串口发送at指令设置cc2541模块透传接着才能利用串口透传来调试。不过考虑到函数复用和避免日后重复造轮子的情况发生,我还是单独写成gpio和串口的配置函数。因此我的流程如下:
初始化gpio,时钟使能,设置引脚复用映射,设置模式等并使能初始化串口,设置波特率,字长,奇偶校验等并使能串口开启中断,初始化nvic。使能中断编写中断处理函数。初始化gpio本次使用的是串口3,涉及的gpio是pb10和pb11.因此首先要设置这两个gpio。
使能时钟
rcc_ahb1periphclockcmd(rcc_ahb1periph_gpiob, enable);
设置引脚复用器映射:
gpio_pinafconfig(gpiob, gpio_pinsource10, gpio_af_usart3);
gpio_pinafconfig(gpiob, gpio_pinsource11, gpio_af_usart3);
分别复用了b10和b11。
接着初始化。具体代码在下文查看。
点亮led(库函数
gpio_mode处需要设置复用功能gpio_mode_af,速度50mhz即可,gpio_otype设置推挽复用以得到更强的输出能力gpio_otype_pp,电平选择上拉。选择上拉是因为根据串口定义,tx和rx在空闲状态保持1。
初始化串口首先用f4库函数提供的结构体声明:
usart_inittypedef usart_initstructure;
接着使能时钟
rcc_apb1periphclockcmd(rcc_apb1periph_usart3, enable);
需要注意的是,根据芯片手册,串口1,6是挂在apb2上的,而2,3,4,5都是挂载在apb1上的,因此初始化时应当使用rcc_apb1函数而不是跟之前一样用apb2。
然后设置各项相关参数:
apb和ahb时钟总线(未完成由于只影响到gpio和串口的初始化,此处不过多占用篇幅。
这俩是什么玩意?网上查得如下:
ahb(advanced high-performance bus), 高速总线,用来接高速外设的。apb (advanced peripheral bus) 低速总线,用来接入低速外设。
其实ahb总线非常简单。里面一个仲裁器(arbiter)用于仲裁多个主设备同时访问总线的情况,三个多路选择器,用于选通master与slave之间的data和address。另外addr没有分读和写的addr,也就是说ahb不是全双工,读写是不可以同时进行的。所以性能上比axi一般来讲要弱一些。
对于apb来说,就简单多了。主要用来读写寄存器。
主要包含
vscode代码提示也可以看出,apb下挂载了gpio:
ahb也可以使用:
nvic初始化nvic是什么?嵌套向量中断控制器;用于为中断分组,从而分配抢占优先级和响应优先级;
有什么功能?先占优先级也就是抢占优先级,概念等同于51单片机中的中断。假设有两中断先后触发,已经在执行的中断先占优先级如果没有后触发的中断 先占优先级更高,就会先处理先占优先级高的中断。也就是说又有较高的先占优先级的中断可以打断先占优先级较低的中断。这是实现中断嵌套的基础。
次占优先级,也就是响应优先级,只在同一先占优先级的中断同时触发时起作用,先占优先级相同,则优先执行次占优先级较高的中断。次占优先级不会造成中断嵌套。如果中断的两个优先级都一致,则优先执行位于中断向量表中位置较高的中断。
nvic就是控制上述功能的控制器
nvic初始化

常见PLC自动程序的流程编写
ikbcg108机械键盘怎么样 Mac的最佳搭档
realme Q5系列发布会,推出Q5i、Q5及Q5 Pro三款新手机
氧化皮处理机的价值所在
四部门明确App收集个人信息范围
STM32F407串口通信基本内容
回弹力测试仪和回弹测试仪的对比,它们的区别是什么
N沟道场效应管HC3400M产品资料
电压开关中常见问题及解决方案
西门子博图RD_SINFO:读取当前OB启动信息
适用于4G和5G小蜂窝无线电的高能效射频产品线
AI之下,企业的工作管理方式需要有哪些改变?
未来汽车开发者大会将开幕 征集电动智能轻量汽车创新项目
智哪儿讯:艾瑞联合Aqara绿米发布《中国全屋智能行业研究白皮书》
一文解析STM32内存管理和堆栈的认知与理解
5G和机器人是怎么帮助打造智慧医院的
2021年全球5G手机出货量或将超6亿部
笔记本AGP插槽标准
TK3030C:三相电能表检定装置
墨奇科技非接触3D指纹采集仪获认定证书