正点原子 例程学习记录 实验四 串口实验

断断续续地看了一阵子 ,一度被工程下无数的文件劝退,今又看了开发指南,发现其实没有编译的工程包含的文件并不多,绝大部分文件都是编译后才出现的。其中还有很多是系统文件,不需要自己写。

观察还没有编译过的工程包含的project文件,发现其中我们需要自己写的文件只有USER下的main.c,HARDWARE下的led.c和key.c 以及对应的头文件led.h和key.h文件。

遇到的问题:

1、什么是串口

  • 串口 ,战舰板子上 的串口1 是P4 的PA9 和PA10  ,USB端口通过CH340芯片可以将信号分为发送TXD和接收RXD,将板子上的p4 跳线帽进行如下连接:PA9-RXD,PA10-TXD,那么就可以实现通过PA9和PA10复用为串口1进行收发通信了。(注意硬件连接的时候使用usb线连接USB_232和电脑,而不是USB_SLAVE和电脑。)
  • 串口是进行串行通信的接口也就是可以将并行数据 转化为串行数据与计算机等进行交流。
  • 串口1是外设,则PA9和PA10这两个I/O端口需要进行端口复用才能作为串口1 进行使用。

2、内置外设、端口复用、重映射

参考什么是内置外设、端口复用、重映射、仿真?(第十一天)-OpenEdv-开源电子网

  • 对于一个芯片来说, 里面除了有连接各个引脚的电路还有小的模块,这些小的具有独立功能的模块被称为内置外设。对于引脚PA1来说,它不仅连接了芯片的电路也连接了一个内置外设 。
  • 平时它可以作为一个芯片端口正常使用,当内置外设需要与外界进行交流,PA1引脚则会被端口复用为这个外设的端口。
  • 但是如果此时PA1作为芯片端口正在被使用,而外设也需要一个端口进行交流怎么办?那么此时可以将空闲的PAB端口重映射为外设的端口进行使用。
  • 具体端口复用和重映射哪个引脚都是有相应文件规定的,不是随便映射的。

3、中断相关 

3.1 来自开发指南4.5的STM32 NVIC 中断优先级管理

  • MDK中定义了与NVIC相关的寄存器的结构体
  • NVIC中断相关的函数有两个中断优先级分组函数 NVIC_PriorityGroupConfig、中断初始化函数 NVIC_Init。
  • 中断优先级设置的步骤:先调用NVIC_PriorityGroupConfig 确定抢占优先级和子优先级的分配位数,对于每一个中断的优先级选择,调用NVIC_Init

3.2 usart 文件夹介绍

  • usart文件夹包括usart.c 和 usart.h 进行串口的初始化和中断接收
  • usart.c中包含了2个函数一个是 USART1_IRQHandler中断响应函数,即中断发生后执行的代码;另外一个是uart_init进行串口初始化其中包括了中断优先级的设置。
  • usart.h中定义了EN_USART1_RX,当需要使用串口接 收的时候,设置 EN_USART1_RX 为 1 就可以了。不使用的时候设置EN_USART1_RX 为 0 即可,默认是设置 EN_USART1_RX 为 1,也就是开启串口接收的。

4、结果

如果不选中发送新行,那么会一直将发送的数据放在缓冲区内,直到识别到回车才一起发送出去

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值