- 博客(10)
- 收藏
- 关注
原创 调试华大单片机L072问题记录
一、flash擦写问题使用内部flash过程中,提高L072主频到48Mhz,flash擦写出现问题,总是进入hardfault中断 问题原因:flash因为主频的提高,flash的等待周期之类的配置也应该同时配置二、 串口485发送问题485发送数据发现总是缺少最后两个字节数据 问题原因:在485使能引脚使能之后,串口数据依旧在串口DR寄存器中,没有发送出去,此时使能引脚已经使能,导致数据未通过485发送出去 解决方法:等待串口数据发送完成后,再进行使能485引脚,或者,使能485引脚之前
2024-07-30 21:02:22
283
原创 华大hc32l072芯片踩坑日记
主要是擦除扇区的时候,进行flash解锁与上锁,数据手册上写的,与例程用的有点差别,记得修改。一个是串口接收中断,发送中断,两个中断里面都清楚了,接受完成标志位,导致芯片死机。第二个就是波特率太高的话,需要重新矫正波特率,具体步骤之后在写。
2024-04-24 00:21:39
502
原创 在flash与ram之间代码执行速度的理解
正常在ram里执行代码的速度是一致的,如果有段程序刚好在flash与ram之间交界处,而flash运行代码的速度是要慢于在ram中运行的速度的,这也就导致在一些通讯的时候,比如说串口收发的时候,接收中的函数刚好在flash中,时间变慢,导致接收数据异常。在这种情况下,打开优化等级,代码量变小,刚好将在flash的程序转入到了ram中去,此时将串口收发数据函数ram中,执行速度比原来在flash中快,那么接收数据异常的情况也就能够得到解决
2023-02-16 12:55:36
781
原创 keil中RAM的分配方法
在target中,可以配置单片机的RAM,来选择单片机运行的地址,RAM的地址和大小由芯片手册决定,像图一中,0x2000000就是现在该芯片中所分配的RAM的大小,0x20000(80k)就是大小,配置好了之后程序是运行在0x20000000~0x20020000这段区域的。先把USE MEMORY的√点掉,在点击Edit按钮,会出现图三,我们配置这个SCT的文件也是一样的,同时ROM的空间也是同样可以配置的。
2023-02-13 23:08:26
5973
3
原创 STM32Adc采样可调电阻电压,输出pwm波
初始化ADC结构体初始化ADC常规结构体初始化GPIO结构体使能硬件时钟将采集电压的脚设置成模拟输入,用来测试更大的电压stm32F407有ADC1,ADC2,ADC3有个通道的分配表,每个都有18个通道这次实验用的PB0通道8,adc1adc常规初始化:独立模式工作时钟dma是否开启adc1初始化精度触发时间啥的模拟数字转换器一直工作禁止触发检测数据右对齐执行转换结果指定adc1的采样时间,几个adc时钟时间使能adc1在
2022-03-10 10:18:49
2307
1
原创 stm32f407定时器输出pwm波形
stm32f407可以输出多路pwm波初始化:定时器和gpio的硬件时钟设置gpio引脚模式设置定时器计数值,分频值等条件将gpio复用到定时器上设置pwm模式,有效电平四路pwm的话需要chanel1.2.34.初始化使能在本次程序编写中出现一下问题:1.未定义TimBaseStructure.解决:没有写初始化结构体,或者是写错了2.试用f407的tim3输出四路的pwm,使用其中路,无法驱动直流电机:未解决:可能io口无法驱动,电流太小(不过例程中,
2022-03-06 08:53:22
2433
原创 提醒自己如何学stm32
有开发板的例程,自己下载到开发板去看看现象,然后看例程,查阅书籍,自己调试代码,看视屏,看几集下来,发现视屏太多,一些信息是重复的,比较浪费时间,所以我要实在是弄不懂,再去求助视屏,最重要的是,要亲手去做实验,自己去调试。实践实践最重要!加油????...
2021-11-24 19:58:16
456
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人