自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (4)
  • 收藏
  • 关注

原创 USART1移植到USART3通信不了的问题

原因:USART1配置的波特率,在USART3里用不了。因为USART1是挂在高速的APB2上的,而USART3是挂在低速的APB1上的,两者的速率上限不同。由于原始版本的USART1配置的波特率高于了USART3的波特率上限,因此USART3通信不上。1、提高主频-提高USART3的波特率的上限。2、将USART3还原成USART1。

2024-04-16 12:32:27 354

原创 函数指针的清晰理解

解析:pFun和 (*pFun)是两个变量,且都是变量。给*pFun变量 赋值,或赋值给其他变量,就相当于。但是函数指针变量没有目标变量,只有目标函数的地址。pFun变量,存储的值是下面的目标变量的地址。*pFun变量,是目标变量本身。

2024-04-05 12:18:24 77

原创 主站按顺序循环发送1~8序号的数据帧,从站总是收不到1和2序号的数据帧

2、从站接收的速度太慢,表现为从站缓存区收到一帧数据帧后,从站没来得及读取,下一个数据帧就把上一帧数据覆盖了。导致1~2序号的数据帧一直收不到。加快从站的数据帧接收速度,或增加主站两个数据帧之间的发送时间间隔。1、确认主站发送的是否过快,从站在高速数据帧传输时接收不过来。

2024-03-27 09:15:45 82

原创 软件模拟I2C的流程

Slave->Master:2、Master要在SCL下降沿之前读取SDA的值,读取SDA之后Master立刻产生SCL下降沿。Master->Slave:2、Slave要在SCL上升沿之后立刻读取SDA的值。Slave->Master:1、Slave要在SCL上升沿之后立刻移出SDA的值。Master->Slave:1、Master要在SCL上升沿之前写入SDA的值。

2024-03-24 13:54:17 240

原创 modbus代码思路整理

4.USART_RX串口接收中断一直产生:一直接收到来自主站的数据 -> 则,一直复位TIM:打开TIM(5ms):Enable & TIM->CNT=0;3.接收到来自主站的数据:USART_RX串口接收中断产生 -> 则,打开TIM(5ms):Enable & TIM->CNT=0;5.来自主站的数据接收完毕:TIM(5ms)发生5ms超时中断 -> 则,关闭DMA_RX。/*1.等待接收来自主站的数据:USART_RX打开 & DMA_RX打开。3.打开TIM(5ms):Enable。

2024-03-24 11:46:08 205

原创 usart接受端 持续进入usart溢出中断服务函数

--其实就是上位机发第二帧数据的起始时刻发的太快了,而board上还在处理上一帧的数据,以及send回复帧给上位机(波特率太低,且数据量太大,导致发送的时间比较长),此时DMA接收是关闭状态的。原因:产生串口溢出中断的原因是usart中接受到了可读数据,但是没有被及时读取,导致第二个字节数据到达usart时没有地方存放,导致串口溢出中断。分析代码:采用MDA方式接收数据,实际上是很快的,不存在没有及时读取数据的情况。唯一的可能是DMA被关闭了,导致usart的数据没有被DMA及时读取。

2024-03-20 16:20:40 141

原创 求字符串长度:sizeof和strlen的不同

strlen:以字符串中的"\0"结束,且"\0"不计入strle的数量。sizeof:以字符串中的空格结束,且空格不计入sizeof的数量。

2024-03-14 13:48:08 314

原创 新加入的task,执行5~6次之后再也无法执行的问题

原因:新任务优先级较低,同时高优先级任务不主动释放CPU(tslptask)。导致低优先级任务无法执行。解决:在高优先级任务中加入tslptask。

2024-03-13 12:07:28 353

原创 SPI主从通信系统的设计问题

SPI主是生产者(控制者)

2024-03-10 11:58:18 348

原创 问题:从站SPI的DMA接收到一次错误帧之后,以后所有的帧都错误了

因此:即使从站SPI检测CS线的变化,亦或是采用其他方式判断:SCK的跳动是主站发出数据的信号还是异常抖动。也无济于事,因为只要SCK跳动,SO就会移位输出。从站SPI发送的原理:不论CS的电平是高是低,只要SCK上升沿到来了(哪怕是主站初始化时的SCK跳动),从站SPI就会把数据移位到SO线。解决:绕过SCK的初始化跳动。确保等SCK初始化完毕之后,再初始化从站SPI,使能从站SPI。

2024-03-09 17:59:29 286

原创 DMA频繁进入传输完成中断问题

原因:先使能了DMA,才配置DMA传输完成中断,导致此错误。解决:应该先配置DMA传输完成中断,然后再使能DMA。

2024-03-09 14:06:31 436

原创 SPI频繁进入发送完成中断问题

原因:SPI频率太高,50MHz,导致频繁进入中断。解决:分频2,降为25MHz,问题解决。

2024-03-05 08:51:49 352

原创 串口收到的数据是乱码:与发送的数据不一致

串口收到的数据与发送不一致,一般是因为波特率设置与实际波形不一致:HSE配置与实际晶振频率不符。修改HSE为实际晶振的频率即可。

2024-02-28 17:06:07 572

原创 MCU频繁进入串口溢出中断

MCU频繁进入串口溢出中断的原因:usart->dat中的存在有效数据的时候(未被读取),新的字节到来,要存入usart->dat,却没位置存放了。于是,产生溢出中断。其实就是没来得及读取usart->dat,产生的溢出中断。由于使用了DMA来接收usart->dat,所以,产生溢出中断是因为DMA没来得及读取usart->dat。检查代码发现是接收完一帧数据后关掉了DMA,且没有再次打开DMA!导致usart->dat没来得及被读取!

2024-02-28 17:03:59 403

原创 Source browser information appears to be out of sync, Please clean the proje

问题:IAR出现报错“Source browser information appears to be out of sync, Please clean the proje”

2024-01-25 09:18:09 450

原创 Keil5:DEBUG模式正常执行,但是Download之后无法正常运行

Keil5:DEBUG模式正常执行,但是Download之后无法正常运行

2024-01-12 20:18:52 622

原创 CAN总线上,主站发送帧太快时,从站会出现来不及发出回复帧的问题,导致从站总是回复主站的上一帧Request帧

根本原因是:主站发送帧太快时,帧接收到了从站的接收FIFO里,但是没有被读出来。如果这时主站再发送一帧数据,主站的前一个帧的才会被从站读到,主站再发一帧数据到总线,另一个没被读出来的数据帧才会产生新的从站接收中断读数据。FIFO是可以存放3条信息的,说明这里只有一条信息被读出了,另两条根本没读出来。

2023-10-26 17:02:28 139

原创 EXTI的配置

【代码】EXTI的配置。

2023-09-11 09:00:16 89

原创 CAN回环静默能收发 静默模式收不到数据

因此,Baud = 1/T1bit =原因:波特率不匹配!

2023-08-01 11:42:00 211 1

原创 问题:USART无法进入接收中断

原因1:时钟TIM的超时配置不正确,时间太短!解决1:将时钟TIM超时时间加长。解决2:将接收中断ENABLE。原因2:接收中断未使能。

2023-08-01 11:36:12 443 1

原创 关于单片机运行时程序卡在B.处的解决方法

程序卡死在B.处说明有中断没有处理,导致程序进入中断后无法跳出。程序运行时,发现程序卡死在B.处。

2023-03-02 14:39:21 598

原创 C语言的运算符优先级表格

第6优先级:大于运算符>、大于等于运算符>=、小于运算符

2023-01-07 09:42:43 456

原创 Keil5修改与“选中文本“相同变量的背景色

如何Keil5修改与"选中文本"相同变量的背景色

2022-11-14 17:30:07 2853 1

原创 换新电脑后,Keil无法下载程序代码

解决:1、在Keil魔术棒的Debug选项卡中,选择与下载器对应的Debugger,我的是J-Link。2、将下图中的Reset and Run 前面 打上勾。原因:Keil软件配置错误。

2022-10-26 15:30:25 1465

原创 Debug跳到startup_n32g45x.s来了

问题:Debug跳到startup_n32g45x.s来了

2022-10-09 11:08:31 138

原创 如何让Keil的Degug调试模式watch windows窗口内寄存器的值实时变化

2、在弹出的下拉菜单中点击preodic windows update。1、点击菜单栏的View。

2022-08-18 14:35:22 1027

原创 【20220818】以太网PHY层或类PHY层基于RS485通信问题

2、RS485看RS485物理层,检查电路外围如电子元器件的电阻值等是否正确。1、以太网看PHY层,检查电路外围如电子元器件的电阻值等是否正确。所以,外设灯不亮基本都得往硬件的找问题。通信外设IC的通讯灯不亮。...

2022-08-18 12:07:22 88

原创 【20220816】接触新的通讯协议编程时,只需关注通讯协议初始化和数据接收缓存和发送缓存

因为通讯协议的实现通常是由硬件或软件实现,比如以太网的PHY层芯片+MCU的ETH接口,PHY层芯片+MCU的ETH内部会提供数据的收发缓存,供程序员使用,编程的视角也只需着眼于“数据”。接触新的通讯协议编程时,只需关注通讯协议初始化和数据接收缓存和发送缓存。...

2022-08-16 16:22:30 1526

原创 【20220816】单片机开发是需要细心的

如果只将 GPIO_ReadInputDataBit(GPIOE,GPIO_PIN_13) 和 GPIOE->PID & GPIO_PIN_13作为主要的关注点,很容易判断出错误。导致调试代码时,程序员的工程思维逻辑都是对的,但是单片机的执行逻辑却稳定地出错。也就是程序员的工程思维逻辑和单片机的执行逻辑不一致的情况。GPIO_ReadInputDataBit(GPIOE,GPIO_PIN_13) 和 GPIOE->PID & GPIO_PIN_13 的计算结果是不一样的。...

2022-08-16 09:33:45 43

原创 【20220815】新板子第一次调试的错误大多是硬件的疏忽

Layout没问题,主要是硬件工程师绘制原理图的时候的一些判断上的问题,当他不知道项目需要什么接线方法的时候,没有向项目负责人确认,而是用了默认NC、默认没有上下拉、默认GND不需要引出。1、看门狗没有按照外设芯片的要求接VDD,而是被硬件工程师NC处理了。所以,及时沟通在团队合作中很重要,不然你画的板子地不断修修补补。2、拨码开关输入没有进行上拉处理。3、连接器P3没有GND端口。...

2022-08-15 10:12:40 62

原创 【20220810】STM32控制各类外设芯片的过程就是配置、读、写该外设寄存器的过程

STM32等 MCU控制各类外设芯片的过程:就是配置、读、写该外设寄存器的过程。1、外设芯片的各个功能寄存器的用途。3、MCU与该外设芯片的通信引脚。2、寄存器数据的逻辑含义。

2022-08-10 12:21:25 1506

原创 KEIL中SW Device没有识别芯片,jlink下载不进去的问题

KEIL中SW Device没有识别芯片,jlink下载不进去的问题

2022-06-11 14:34:19 3495 4

原创 Keil报错:Undefined symbol GPIO_Init

原因是所需要的C文件没有在工程里面,即使在stm32f10x_conf.h中开启了包含相关头文件,仍然会出现这样的错误.

2022-05-22 15:36:09 1761 1

原创 Keil5无法下载程序,找不到Device,驱动没装好

第一步:第二步:Keil5自带dpinst_x64.exe驱动文件位置:D:\Program Files\Keil_v5\ARM\Segger\USBDriver\x64

2022-05-19 11:38:48 2068

原创 Keil5:Error: Flash Download failed - Target DLL has been cancelled

解决方案:reset复位Download的节点设备

2022-04-25 09:02:22 3056

原创 keil5字体颜色设置修改

https://download.csdn.net/download/k_acm/85167678设置步骤:将C:\KEIL5\UV4下的global.prop替换为上述文件即可替换效果:

2022-04-18 10:26:48 1894

软件模拟I2C的流程的代码

软件模拟I2C的流程的代码

2024-03-24

软件模拟I2C的流程及思路

软件模拟I2C的流程及思路

2024-03-24

88SF9110B0-NNR2C000 datasheet 数据手册

marvell的88SF9110B0数据手册

2022-07-25

Notepad++,简洁的轻量级代码编辑器、代码浏览器

Notepad++,简洁的轻量级代码编辑器、代码浏览器

2022-05-17

Keil5字体背景颜色绿色护眼设置文件

将C:\KEIL5\UV4下的global.prop替换为上述文件即可

2022-04-18

ChipEasy U盘型号检测

ChipEasy 芯片无忧 U盘量产 U盘型号检测

2012-06-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除