摘要:
1.判断地址、校验 2.读取本机数据并校验打包 3.发送数据包 4.本机数据长度比要读取的长度短怎么办 4.校验错误怎么办 阅读全文
摘要:
一、查询模式 1. 二、中断模式 1.中断接收。 1.1先看中断接收的流程(以 USART2 为例) 在启动文件中找到中断向量 USART2_IRQHandler 找到USART2_IRQHandler的函数定义 可以看到这里又转到另一个函数里去了,再找下去: 该函数的源码: 也就是说,当串口中断触 阅读全文
摘要:
功能需求: (1)对接收的字符串原样返回(每10个字符一次)。 (2)发送一个字符串完成后改变LED的状态。 1.创建工程 使用的是F407Discovery,4个LED对应PD12-PD14。 (1)使用外部高速时钟 (2)推挽输出4个LED输出端口 (3)使用usart2 (4)外部8M,使用H 阅读全文
摘要:
一、Cube配置 需求:使用PD10作为外部中断(下降沿触发)控制LED(PD12-PD14) 1.选型 STM32-F4-Discovery使用的是F407VGT6. 2.使能时钟 3.设置GPIO PD12-PD15对应4个LED,设置为输出 使用PD10作为外部中断,于是PD10设置为GPIO 阅读全文
摘要:
1.中断触发过程 对主程序压栈——把中断服务函数的地址写入到程序计数器(PC)——执行中断服务函数 2.中断向量表 中断服务函数的地址在STM32的手册上的中断向量表中(如下是一部分): 如上表所示,EXTI0中断服务函数的地址是0x00000058。意思就是如果触发了外部中断那么就从0x00000 阅读全文
摘要:
一 初始化GPIO 使用HAL库的优点在于不用手动添加初始化的代码了,CubeMX会根据软件设置自动生成。 自动生成的HAL库GPIO初始化代码: 顺序:(1)定义结构体变量。(2)使能时钟。(3)配置初始化电平。(4)通过结构体变量初始化GPIO。 1.首先定义一个结构体变量GPIO_InitSt 阅读全文