- 博客(8)
- 收藏
- 关注
原创 gd32的mac地址
设置mac地址:在add和set之前把g_mynetif→hwaddr【0】到g_mynetif→hwaddr【6】更改完毕就好了。
2023-11-13 16:01:59 203
原创 GD32f307uart3通信失败所做的尝试
4.手动调试发现程序卡在USBFS_IRQHandler 的 B.ENDP ALIGN处。最后发现是使用了timer中断但未定义。2.在发送函数前清除tc标志位,失败。此前项目引用了头文件代码被屏蔽。3.启用microLIB,失败。1.设置中断向量表,失败。
2023-08-17 13:17:40 346 1
原创 keil调试踩坑记录
未烧bootloader程序,运行程序地址不是从0x00000000开始导致的,烧了bootloader程序之后恢复正常。
2023-08-15 10:14:51 98 1
原创 keil新建GD工程踩坑记录
1.keil疯狂报错APP/main.c(1): error: source file is not valid UTF-8且出现一堆乱码。2.生成文件的时候提示缺失缺少RTE_Components.h文件。arm的编译器版本选错,不能用版本6,要改成版本5。
2023-07-26 13:09:40 250
原创 C学习笔记---函数返回数组
方法3:使用动态数组,使其在堆区开辟存储空间,动态数组的存储空间必须手动开辟和开动释放,这样在自定义函数中定义的数组不会随着函数结束被释放掉;但注意该函数是开辟size个字节大小的存储空间,因此在强制转换类型时注意其大小,比如强制转换成int*类型,因为int占4个字节,因此开辟时需要size为4个倍数,不然空间分配会有异常。问题:在自定义中函数直接分配数组,其作为局部变量,在栈中开辟存储空间,在自定义函数结束后会被释放掉,因此无法得到其返回值;方法1:可以外部开辟一个静态数组,然后传递给自定义函数;
2023-07-25 15:02:07 557
原创 AD采样数据与实际数据的关系学习
比如给出的参考电压为5V,采样精度为16位,那么对数据的采样意味着将5V电压分为65536份,若传上来的AD数据为a,采集数据为b,实际数据为c,放大倍数为d,那么。AD范围:依靠精度确定,如8位范围为256;16位范围为65536。AD数据:采样得到传上来的数据。参考电压:硬件给出的参考值。放大倍数:硬件根据电路给出。
2023-07-25 09:29:02 745
原创 C学习笔记---操作符1
在对字符串求长度时sizeof会把后面的\0算上,而strlen不会,因此sizeof求出的字符串长度比strlen求出的会大1;后置时先使用再自加) → a = 5;~:按位求反(牢记计算机存储的是数据的补码,在原反补码相互转化时符号位保持不变,而操作数据时会对符号位进行改变)&:按位与(可用来将某位置0)→ a的x位需要置0,则a = a & (~(0x01
2023-07-24 19:17:49 75
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人