![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32
文章平均质量分 50
JohnCage
嵌入式设计完全就是乐趣!
展开
-
GD32F103,ADC采样端口对电压的影响问题,未解决!!!(已解决!!!)
设计采集卡,使用了ADC1、ADC2、ADC3,发现ADC采样的通道电压不对,模拟量输入端未0V,输出采用LM358跟随,在ADC采集过程中,发现LM358的输出电压并不为0V,而是为0.2V。开始以为线路短路或是LM358的问题。后来停止采集(此时ADC1通道切换了),发现LM358的输出为0V,如果停在此采样通道(调试),发现电压还在缓慢上升,判定LM358没有问题,是GD32模拟采集的问题。使用显微镜,发现引脚并没有短路的情况,继续查找原因。通过单步调试发现,在ADC初始化过程中,在使端口变成模原创 2023-08-15 19:33:57 · 1764 阅读 · 3 评论 -
STM32F103 对PB3-5多次重映射导致TIM3CH1在PB4无法输出PWM波形问题的解决
SMT32F103同一端口的多次重映射的问题原创 2023-01-20 20:17:35 · 918 阅读 · 0 评论 -
Keil5进入HardFault_Handler 中断问题的思考
Keil5进入HardFault_Handler中断的问题源程序来源于STM32F103CBT6,现在修改到STM32F103RCT6,因为芯片从MD变化到HD大容量产品了,所以更改了.s文件。在程序运行调试过程成,在运行一下后死机,进入HardFault_Handler。通过设置断点,发现使用了Vsprintf标准输入输出函数后,进入HardFault_Handler,怀疑内存溢出。将Heap Size调整为 400H,问题解决。或者改变StackSize为600H,问题也能解决。其原创 2022-04-15 16:50:09 · 2624 阅读 · 0 评论 -
STM32定时器输入滤波
定时器的ETR、TI1、TI2可作为外部计数脉冲输入,在有些项目中,输入的信号可能因为干扰的问题,会有us或者100ns纳秒级的干扰脉冲,这个时候滤波器的作用就非常大了,可以很好的、有效的去除干扰,并且不需要占用CPU时间。...原创 2022-03-27 12:12:12 · 1532 阅读 · 0 评论 -
STM32中SPI数据读取、调试过程中问题的探讨。
1、SPI总线读取数据许多STM32的SPI数据读取存在问题,举个例子:设备现需要3个命令,通过命令字才能将我们需要的数据输出,则SPI通讯过程就是D0->D1->D2->空数据(0x00)->读取数据然而,由于SPI结构的问题,许多例程发送“D0-D1-D2” 3个字节的数据及读取过程过程代码如下,SetnCSLow( ); //置W5500的SCS为低电平 SPI1_Send_Byte(D0);//通过SPI1写8位数据SPI1_Send_Byte(D1);//原创 2020-07-15 17:15:22 · 7814 阅读 · 0 评论 -
关于STM32 SPI通讯发送过程问题的探讨
多年前在使用STM32中的硬件SPI通讯过程中,发现所给的例程实际上是有问题的。最近我的学生跟同事总跟我反映:“SPI通讯他们调试速度总是上不去,芯片支持到25MHz,我们只能做到1M左右。”今天台式SPI的时候,我将这个问题放上来说一下。在STM32的SPI通讯过程中,非DMA模式下,每发送一个数据后,我们的代码是这样写的:void SPI1_Send_Byte(unsigned char dat){ SPI_I2S_SendData(SPI1,dat);//写1个字节数据 while(SPI原创 2020-07-15 09:52:33 · 4917 阅读 · 1 评论 -
函数参数传递过程中,怎么兼容 “const char *类型和“char *类型”的思考。
在使用keil编写函数时,有一些固定的字符需要显示,为了节约内存,我希望把这些固定的字符作为const常量存放在flash中,在原来使用的函数:void UpdateTextCtr( u16 ctrid, char *text, u8 len );我定义了const char textstr[] = “abcd” ;调用函数UpdateTextCtr编译后出错,提示 const ch...原创 2020-04-22 15:26:20 · 1019 阅读 · 0 评论 -
关于Keil调试STM32F407的 ADC过程异常:不进中断,EOC标志莫名清零的问题的解决。
关于Keil调试STM32F407的 ADC过程异常:不进中断,EOC标志莫名清零等问题的讨论与解决 设置了F407中的3路ADC工作于独立模式,每次转换结束后产生中断。 由于程序比较庞大了,决定采用调试方式测试代码,结果发现程序经常无法正常进入中断,每次单步运行时,启动ADC后,EOC标识置位;再运行一步,其EOC标志位会自动清零,导致调试过程中断根本无法进入。其过程如图:从图...原创 2020-02-25 12:11:16 · 6063 阅读 · 14 评论 -
STM32F407使用系统库函数DMA_GetITStatus获取中断状态的问题
程序使用DMA传输,需要使用DMA传输完成中断,程序如下:void DMA2_Stream7_IRQHandler(void){ static u16 cnt = 0 ; if(DMA_GetITStatus(DMA2_Stream7,DMA_FLAG_TCIF7)==SET) //检查DMA传输完成中断 { DMA_ClearITPendingBit(DMA2_Stream7,DMA...原创 2020-02-12 12:45:15 · 5212 阅读 · 1 评论