ARM 笔记(1021)-- STM32部分--17
13.2 串口中断接收过程#
当DR每存储一帧数据时候,产生一次中断,根据前面的经验,
13.3串口接收中断编程的流程#
第一步 串口初始化#
打开串口时钟 配置串口初始化函数
设置串口接收中断使能
配置中断优先级打开系统中断使能。
在串口的初始化函数的回调函数中编写IO初始化
第二步 编写串口接收中断入口程序#
第三步 在入口程序中调用串口中断通用处理函数#
第四步 编写回调函数:把接收到的数据发送,来验证接收到的数据是否正确。#
核心问题:什么时候产生回调? 从上位机发送数据然后ARM把上位机发送的数据回传给上位机。
接收数组和发送的数组必须分开。
作业1:从上位机发送你的名字到下位机
作业2:上位机给下位机设定定时时间------可以靠小灯去观测
作业3:猜拳游戏 上位机输入石头剪刀布 下位机 有石头剪刀布
有雷区
作业4 用cubemx 配置串口的中断初始化程序
作业5: 研究串口DMA数据传输 (大数据传输)
作业6:通过上位机控制七彩灯1 红灯 2绿 0灭灯
下午:#
DMA简介:直接存储器访问#
通道+流#
FIFO:#
FIFO先入先出(堆栈) 缓冲区 first input 堆栈 先入先出
宽度16个字
节拍是最小的传输长度
NORMAL 模式
外接函数
突发模式,单个字节传输一次
内存数据发送
HALFWORD
Pfctrl硬件流控模式#
循环模式: 循环的发送。#
普通模式:#
初始化函数至此结束:#
具体的宏定义。至此结束
DMA的传输过程#
AD DA
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步