
编程语言
AI嵌入式
这个作者很懒,什么都没留下…
展开
-
嵌入式程序设计经验 创建复位函数
软复位时 很多变量都需要重置为初始值,在设计嵌入式系统重新时。需要考虑软复位的情况,原创 2024-09-25 23:16:52 · 230 阅读 · 0 评论 -
C语言中 一种特殊的 数组或结构体 初始化方法
初始化器的用法原创 2024-05-23 08:50:11 · 649 阅读 · 0 评论 -
Keil RTX 系统函数 定义
内核信息和控制· osKernelInitialize:初始化RTOS内核。· osKernelStart:启动RTOS内核。· osKernelRunning:查询RTOS内核是否正在运行。· osKernelSysTick$ : 获取 RTOS 内核系统定时器计数器。· osKernelSysTickFrequency$ : RTOS 内核系统定时器频率,单位为Hz。· osKernelSysTickMicroSec$ : 将微秒值转换为 RTOS 内核系统定时器值。线程管理原创 2021-12-07 11:38:16 · 1624 阅读 · 0 评论 -
Keil RTE 你知道吗?会用吗?
最近在研究 Infin 的芯片, 使用的是Keil 平台编译之前用STM32 后 很久没用Keil了,都用的是 STM32IDE 顺手了,又回到Keil 开始挺不适,但是重新熟悉了几天 发现了一些新特性 之前一直没注意比如 Keil 的工程创建, 资源包管理,项目自动生成 现在已经做的很好了。RTE 是Keil 加入的一个通用接口?因为我用Keil里面的例子,都会有个RTE文件夹 ,打开里面的文件 写着 本文件自动生成 请不要改动这个我就好奇 是什么软件生成的,...原创 2021-12-06 23:53:47 · 6329 阅读 · 2 评论 -
Altium 绘制PCB 经验: PCB规则的使用
PCB规则 的好坏 决定了 一块板子 成功的一半,首先要对AD20 及更早版本的 软件规则要搞清楚每个PCB都有独立的 设计规则,但是 大多数情况下 ,每个设计者所用的PCB规则 变化不大,所以我们可以将一个规则设置好,然后保存起来。在画新的PCB时将这个规则加载进来就会非常方便,不用再去对时间设置各个规则。所以就需要学习如何去导出和加载 PCB规则。方法如下:1 打开一个PCB的规则设置。设置好规则后,2 导出规则:在左侧边框空白处点击右键.原创 2021-08-05 22:58:06 · 232 阅读 · 0 评论 -
Python 数组列表 操作 查询修改添加 ,上层路径
Python 数组list是编程中 操作量比较大的数据类型例如数组 dirs 存放了主文件夹下的所有文件夹名字列表dirs=os.path.dirname(cwd)常用的数组操作有希望查找数组中的的某个元素 ,例如 查找文件夹1 查找数组中是否存在这个元素 :1.1 查找文件列表中是否有一个名字为’boot‘flg= 'boot'indirs以下假设 flg='boot','driver','board'...1.2查找文件列表中是否有 名...原创 2021-01-25 22:11:03 · 381 阅读 · 0 评论 -
PlatformIO 编译异常错误
小半年没用VScode 下的 PlatformIO,结果打开编译了一下原来的代码 竟然各种错误,提示奇怪的问题,编译一直无法结束以为是代码的问题,找了很多地方,试了很多办法,都没解决最后给PlatformIO 做了个升级(也是各种缓慢)然后用纯净Arduino工程 重新创建了一次PlatformIO工程就一切正常了。以前遇到编译缓慢 也是 重新创建了一次工程 好了看来这个平台Bug还是比较多...原创 2020-10-15 22:21:28 · 2900 阅读 · 0 评论 -
PlatformIO 各种异常错误 修复
PlatformIO 集成在VSCODE中 ,往往出现问题后 在VSCode中删除再添加是不行的最好的做法是关闭VSCode,结束后台,打开安装路径 ,C:\Users\用户名\.platformio 文件夹下将packages 文件夹和里面的内容保留 ,其余文件和文件夹全部删掉,因为packages 文件夹下存放的是各种下载的库,一般不会出错然后打开VSCOde 重新安装PlatformIO...原创 2020-05-22 11:15:52 · 6625 阅读 · 1 评论 -
STM32 KEIL 仿真设置
具体解决方法:在Debug选项卡将Simulation中的Dialog.dll设置为DARMSTM.DLL再将Parameter设置为你的单片机型号,例如我的是-pSTM32F103VEDARMSTM.DLL和SARMCM3.DLL都可以在keil\ARM\BIN中找到!...原创 2020-02-20 12:24:34 · 1579 阅读 · 0 评论 -
手动卸载 出错 无法卸载的 VC++ 运行库
1 VC++运行库偶尔会出错 导致一些软件运行异常或者无法安装尝试了各种办法 和卸载工具最后还是用手动卸载的办法 完成的手动卸载前 可以先尝试 几种办法0 使用360软件管理 软件卸载1 使用 修复软件 Visual C ++ AIO2使用Windows Installer Clean Up 专门卸载Windows 系统软件3要是...原创 2020-01-22 15:05:17 · 9150 阅读 · 1 评论 -
FREERTOS IAP 注意事项
最近在搞STM32 IAP引导程序写好了, IAP一个裸机程序 没有任何问题,直接就更新了,可是换个FreeRTOS的程序就运行不起来,找了很多原因,终于解决了说到底,我感觉这应该是编译器的BUG或者FREERTOS 设计时没考虑到这里IAP的程序 中断向量表会整体偏移虽然keil中有设置中断向量表的地方,可是使用freertos后 就不行了最后 解决办法是给ma...原创 2019-09-19 21:33:40 · 3172 阅读 · 5 评论 -
STM32 USB IAP 调试经验
最近在搞USB IAP遇到很多坎坷,一个个坑首先是 boot引导 要做好flash 操作, 能够顺利写入flash写入失败 要注意 解锁 ,写入期间禁止访问,写入期间不要读取,修改flash 要注意地址 启动地址 以及 跳转函数删除扇区的时候要注意扇区号以及扇区的划分地址,这个请查看芯片的参考手册跳转函数的处理 不注意就会出错 ,不过这个例子网上很多...原创 2019-09-19 21:25:40 · 958 阅读 · 1 评论 -
如何给Platform Core 核心降级
比如要从4.x降到3.x在 VScode的 终端中 输入先删除:pip uninstall platformio再安装:pip install -U “platformio <4"即可原创 2019-08-13 23:56:33 · 486 阅读 · 0 评论 -
节点偏差算法简介
简介:打印机控制器使用运动控制程序来规划每个步骤的时间。基于GRBL的运动控制器使用称为转弯结偏差的转弯算法,我将在此重点介绍。(其他固件使用一种叫做Jerk的不同算法,可能会有不同的实现 - 我不是在这里讨论Jerk。)我一直在研究结点偏差,这是我对压力补偿研究的一部分。通俗地说:- 交叉点偏差确定控制器的运动规划器看到即将到来的角落有多紧。- 加速度控制断裂和油门踏板的应用程度。...翻译 2019-07-31 00:57:36 · 747 阅读 · 0 评论 -
const void * const a 如何理解
const void *a 声明了一个常量指针, 指的是在这里定义的 (*a)取出来的数 将被定义为常量对待,,而a本身是变量(普通的a)。const void * const a 声明了一个指向常量的 常量指针 ; 指的是(*a)取出来的数是常量,而a本身是常量(const a)。常量指针: const * a 或 const void * a 指的是 这个...原创 2019-02-28 20:23:23 · 5016 阅读 · 0 评论 -
宏定义 中 # 和 ## 的含义
1. #:在宏展开的时候会将#后面的参数替换成字符串,如: #define p(exp) printf(#exp); 调用p(asdfsadf)的时候会将#exp换成"asdfsadf" 2. ##:将前后两个的单词拼接在一起。例如《The C Programming Language》中的例子: #define cat(x,...原创 2019-01-22 23:50:40 · 854 阅读 · 0 评论