摘要: 因为当前项目单片机容量不够使用,打算开启编译器优化,结果在使用KEIL编译器优化后,程序在发送Modbus数据时,程序直接跑飞了 先说结论: 最后发现是局部变量指针作为了DMA的内存地址参数,导致当DMA连续搬运数据时,实际那个局部变量已经被释放,导致DMA搬运数据的过程中出现错误,但是为什么没优化 阅读全文
posted @ 2024-04-09 15:53 cc_record 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 代码参考出处:https://github.com/mcuwty/osal.git 我在此此基础上做了整理,移植到了stm32f103上:demo链接: https://pan.baidu.com/s/1WoL8QCnicxO11hdeh4uh2Q 提取码: wsn3 参考资料: 学习笔记(二)—— 阅读全文
posted @ 2024-03-26 00:55 cc_record 阅读(41) 评论(0) 推荐(0) 编辑
摘要: vscode 全局搜索的时候总是容易把工程中map文件的一些索引搜索到,十分的烦人 发现一个办法可以过滤掉: 打开折叠项,开启排除搜索文件,填入*.map, *.htm,我这里只需要过滤这两种类型文件。 结果如下图: 这就可以了 还有其他的办法: 找到 search.exclude设置项: 添加你需 阅读全文
posted @ 2024-01-09 14:10 cc_record 阅读(161) 评论(0) 推荐(0) 编辑
摘要: #define offset_of(type, member) ((unsigned int)&((type*)0)->member) #define container_of(ptr, type, member) ((type *)((char *)(ptr) - offset_of(type, 阅读全文
posted @ 2023-12-04 11:36 cc_record 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 记录移植过程,以便以后查看: 附上FreeRTOS源码和 测试文件: 链接:https://pan.baidu.com/s/1v6nvDOk4-2NILYqN3njGjQ 提取码:1234 1.使用cubeMAX配置一个工程 a.选择单片机型号: b。设置SWD调试,选TIM4作为系统时钟,syst 阅读全文
posted @ 2023-11-09 12:43 cc_record 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 一、任务状态 任务状态可以分成 Running 和Not Running: 但实际的Not Running状态还有许多的其他状态作为细分。 包括挂起,阻塞和就绪态 挂起状态表示该任务虽然已经创建但是在没有进入其他状态时,永远不会运行。 阻塞态表示该任务在等待一个事件,在事件到来之前都是阻塞态 就绪态 阅读全文
posted @ 2023-11-09 10:54 cc_record 阅读(9) 评论(0) 推荐(0) 编辑
摘要: C++ 变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为 6 种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。 从作用域看: 全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用e 阅读全文
posted @ 2022-11-20 22:31 cc_record 阅读(14) 评论(0) 推荐(0) 编辑