摘要:
一、硬件 如下图所示,485芯片链接到单片机的USART2上,但是默认的USART2并不是在PD5和PD6上,这里是需要重映射的。另外PG4作为485收发的控制(在485协议中,RE、DE同时为高电平那么芯片使能发送,如果同时为低电平那么芯片使能接收) 二、软件设计 1.软件功能 默认485芯片是接 阅读全文
摘要:
问题: (1)下面界面中找不到设备 (2)下载程序的时候提示“ no cortex m sw divice ” 然后是“target dll has been cancelled” 如果生成工程的时候使用的是CubeMX,且第一次下载能行,再下载就没救了,怎么也下载不进去,那么解决办法如下: 在Cu 阅读全文
摘要:
功能需求: (1)对接收的字符串原样返回(每10个字符一次)。 (2)发送一个字符串完成后改变LED的状态。 1.创建工程 使用的是F407Discovery,4个LED对应PD12-PD14。 (1)使用外部高速时钟 (2)推挽输出4个LED输出端口 (3)使用usart2 (4)外部8M,使用H 阅读全文
摘要:
1.判断地址、校验 2.读取本机数据并校验打包 3.发送数据包 4.本机数据长度比要读取的长度短怎么办 4.校验错误怎么办 阅读全文
摘要:
一、查询模式 1. 二、中断模式 1.中断接收。 1.1先看中断接收的流程(以 USART2 为例) 在启动文件中找到中断向量 USART2_IRQHandler 找到USART2_IRQHandler的函数定义 可以看到这里又转到另一个函数里去了,再找下去: 该函数的源码: 也就是说,当串口中断触 阅读全文
摘要:
有了上一篇的基础入门知识,使用Cube创建一个简单的外部中断就容易多了。 一、Cube配置 需求:使用PD10作为外部中断(下降沿触发)控制LED(PD12-PD14) 1.选型 STM32-F4-Discovery使用的是F407VGT6. 2.使能时钟 3.设置GPIO PD12-PD15对应4 阅读全文
摘要:
1.中断触发过程 对主程序压栈——把中断服务函数的地址写入到程序计数器(PC)——执行中断服务函数 2.中断向量表 中断服务函数的地址在STM32的手册上的中断向量表中(如下是一部分): 如上表所示,EXTI0中断服务函数的地址是0x00000058。意思就是如果触发了外部中断那么就从0x00000 阅读全文
摘要:
一般PCB基本设计流程如下:前期准备->PCB结构设计->PCB布局->布线->布线优化和丝印->网络和DRC检查和结构检查->制版. 第一、前期准备. 这包括准备元件库和原理图.“工欲善其事,必先利其器”,要做出一块好的板子,除了要设计好原理之外,还要画得好.在进行PCB设计之前,首先要准备好原理 阅读全文
摘要:
一、资料输入阶段1.在流程上接收到的资料是否齐全(包括:原理图、*.brd文件、料单、PCB设计说明以及PCB设计或更改要求、标准化要求说明、工艺设计说明文件)2.确认PCB模板是最新的3. 确认模板的定位器件位置无误4.PCB设计说明以及PCB设计或更改要求、标准化要求说明是否明确5.确认外形图上 阅读全文
摘要:
一 初始化GPIO 使用HAL库的优点在于不用手动添加初始化的代码了,CubeMX会根据软件设置自动生成。 自动生成的HAL库GPIO初始化代码: 顺序:(1)定义结构体变量。(2)使能时钟。(3)配置初始化电平。(4)通过结构体变量初始化GPIO。 1.首先定义一个结构体变量GPIO_InitSt 阅读全文