问题分析
文章平均质量分 62
NULL_1969
嵌入式编程爱好者
展开
-
使用pyocd 报没有找libusb问题
如果直接运行,还是会报no libusb library was found。还需要将libusb.dll设置为系统可查找的到的路径。在Windows path里添加libusb.dll路径。添加环境变量,右键我的电脑,属性,高级系统设置,环境变量。再次运行pyocd命令,就不会报找不到libusb库了。直接把libusb.dll拷贝到python目录。首使用pip安装libusb。双击path进行添加。原创 2022-12-13 11:03:45 · 699 阅读 · 0 评论 -
新版daplink keil5识别不了
下载了官方的daplink固件进行编译,完成后,发现keil5无法识别到cmsis-dap,经过查找发现是兼容性问题。原创 2022-11-01 16:34:30 · 4350 阅读 · 8 评论 -
hc32生成app分区bin文件实际生成了bin文件夹的问题
最新在项目中使用到了hc32f4a0单片机,会使用到iap升级功能,在编译app代码时将中断向量表偏移到0x40000后,发现没有生成bin文件,而是生产了.bin文件夹,如下图:其内容如下图:正常应该生成firmware.bin文件。原创 2022-10-28 17:15:55 · 370 阅读 · 1 评论 -
keil5 compiler6 -o1读取内部flash硬件错误的问题
最近在做gd32E230c8t6 BootLoader的时候,发现当打开编译优化-o1的时候,代码运行不正常。代码会在读取内部flash内存时出现问题,进入了hardfault。但是改为-o0后,运行就正常了。非常诡异,后面经过反复测试逐步摸清楚了问题的原因。先看问题的代码其中PAGE_SIZE=1024.这段代码的意思很简单,就是将FLASH_SAVE_ADDR_APP后的1K字节读取到temp数组中。flash_read函数内容如下。原创 2022-09-15 20:35:07 · 1219 阅读 · 1 评论 -
单片机通信数据延迟问题排查
1、问题说明笔者在最近的项目中,发现系统的响应延迟较高。经过排查,排除了单片机运行卡死的问题。2、原因分析具体排查过程这里就不细致说明了,直接给出排查后原因。任务执行周期规划不合理,导致freertos队列发送接收到的命令有延迟。为了便于理解,这里就不展示代码,直接展示一段简单的示例代码会更清晰。先看下代码的框图上图较为清晰的说明了两个任务的功能及执行周期。下面看下具体实现的代码void task1(void *pvParameters){ uint8_t data = 1; uint原创 2022-05-30 13:00:40 · 2048 阅读 · 0 评论 -
GD32测量pwm波频率以及占空比
1、需求最近做的一个项目,其中有一个传感器输出是pwm波形,频率代表速度,频率越高速度越快。不同的占空比代表不同的故障类型。占空比10%~90%,频率范围20hz ~1khz。基于以上的需求,单片机要实现两个功能:1、测量频率2、测量占空比这怎么玩呢?从没搞过啊。2、需求分析经过查找资料以及参考正点原子的教程,发现单片机的定时器的输入捕获功能能够实现该功能。2.1分析如上图所示,测量占空比和测量频率实际上就是测量波形的长度。对于占空比,就是测量T2与T1时刻的差值对于频率,就是测量T原创 2022-05-20 20:16:27 · 6585 阅读 · 5 评论 -
stm32f407 RTC不更新问题排查
1、问题在做stm32f407rtc实验时,代码是用cubemx生成的,通过串口打印出时间值,1s打印一次。但是结果与料想中的不一致。发现打印出来的值一直不更新。按下复位键,后时间会更新一次。一开始一直是51s,按下复位键,发现时间更新了,再按下复位键,时间再次更新。后来直接在线debug,运行后,一开始时间也是不会更新的,但是后来将hrtc结构体放到观察窗口,并点击了instance成员后,奇迹出现了,发现时间能够正常更新了。这就非常奇怪了,甚至怀疑了单片机出问题了,结果换了一块板子,还是同原创 2022-05-06 15:30:55 · 2488 阅读 · 8 评论