- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 STM32HAL库串口同时发送和接收数据异常
问题:单片机为stm32f767,用HAL库单片机功能为定时向外发送数据,用串口助手给单片机发送数据会造成死机,分析原因无果,在网上搜索,发现HAL库串口发送和接收都会上锁,处于忙状态,也就是发送和接收不能同时进行,否则会异常。发送函数为HAL_UART_Transmit,接收函数为HAL_UART_Receive_IT,将两个函数中上锁函数__HAL_LOCK(huart)注释掉,测试无效,可能注释的不全,只能找其他办法解决办法:...
2022-02-26 14:10:00
2259
原创 通过DMA控制USART发送数据丢包
问题:定时通过DMA发送USART数据包(一个)没有问题,当连续发送多个数据包容易丢包解决:原程序为数据包发送完成后进入发送完成中断,在中断中将中断完成标志位清零,隔段时间发送一个数据包没有问题,但是频繁的发送多个数据包就会发生上一个还没有发送完成又发送了一个,造成丢包或者部分数据丢失,所以当频繁的发送数据包时关闭发送完成中断将while等待发送完成标志位置一并清零,避免丢包,具体写的内容详看正点原子例程while(1) { if(DMA_G...
2021-11-18 23:01:46
2381
原创 stm32f407工程改为stm32f401的方法,并修改时钟
最近做的项目,遇到问题以及解决方法1、jlink总是下载失败,PC可以识别,但是keil不识别解决办法:将工程中的和jlink相关的文件删掉,keil魔术棒中set键,弹出框,重新选择芯片型号2、stm32f407改为stm32f401解决办法:(1)更改器件型号(2)改启动文件,并对应修改C++中名字(3)修改stm32f4xx.h中#ifdef STM32F40xx #defineSTM32F401xx(以前为40-41) (4)延时初始化函数Delay_init(84)...
2021-11-14 19:09:02
3062
2
原创 AD打印,只打印自己想要的层怎么设置
前提条件:用AD打开所需要打印的PCB图纸第1步:file---pagesetup,第2部为修改后的内容,具体如下: 第2步,哪个层不需要,右击删除即可:第3步:file-print-预览是自己想要的结果就可以打印了...
2018-07-27 21:31:15
12161
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人