![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 60
奥利奥冰茶
这个作者很懒,什么都没留下…
展开
-
使用库函数free( )导致异常错误
我在使用链表的过程中,需要经常使用free( ) 函数来释放启用的结点,这次由于我写程序的失误,在程序运行到free( )函数这里时,直接进DataFault( )错误中断,后来才发现了问题所在。首先free( ) 一般是和malloc函数或calloc函数一块使用的,后两个函数表示从堆空间申请一段连续的地址空间,当使用完毕后,使用free( )函数通知处理器释放掉该地址,也即该地址可以重新分配给别的地址了。我这次的错误是分配空间时给指针分配的空间小了,导致free( )的时候发生了内存泄漏,也就是原创 2022-05-12 14:49:14 · 1907 阅读 · 0 评论 -
Zynq 【SDK裸机开发之PS】——串口接收缓存
最近项目上在使用Zynq开发,也是第一次使用,期间会遇到各种各样的问题,属于Zynq本身问题的我会更新到我的另一篇博客《Zynq开发调试踩坑指南》中,这个版块将会陆续记录我自身在程序开发中的问题。这次的问题是串口收数据问题,众所周知,我在一个月前就已经把串口调通了,收发试着也没啥问题。现在正在加一个通过串口远程升级的功能,也就是发的数据量大了,几十毫秒一帧数据,每一帧都有个一百多字节,然后就发现偶尔收的数据CRC校验对不上,仔细核对发现是少收了一个字节了。我一开始是怀疑收数据的软件层驱动不对。毕竟整原创 2022-04-26 18:56:26 · 3965 阅读 · 6 评论 -
GD32F190 ADC多通道DMA自动接收踩坑指南
如果条件允许的话,请不要用GD32F1x0系列。。。。-----题记这个系列的芯片官方连个库函数指南都没有你敢信?我都不要求中文版的了,起码英文版的得有吧??以往stm32的ADC工作模式,一般都是配置成多个通道自动连续切换,然后通过DMA把数据读走,这次用上GD32F190Tx芯片后,怀着国产之光的心态认认真真的写代码,看库函数,结果真就是踩坑了。我们习惯stm32的配置方式,都是给一个结构体成员赋值,然后调用xxx_init()函数,把结构体作为参数传入函数。但是,gd32的库函数都原创 2021-09-27 17:09:33 · 3001 阅读 · 3 评论 -
使用W5500配置UDP双向 收发 通信
最近又使用W5500网络芯片开发了一个新产品。这次的产品主要还是TCP通信,但是在使用过程中遇到了一个问题。如果上位机异常关闭,此时socket可能并不会认为已经断开了连接,因此再次尝试连接该端口的时候会被拒绝。那么解决这个问题想到了两种方法,一是使用心跳,但是心跳是最无力的妥协,破坏程序的结构性,同时也增加不必要的程序开支。第二种方法就是下位机增加一个UDP端口,因为UDP连接不要求...原创 2019-05-29 23:24:24 · 5956 阅读 · 0 评论