- 博客(23)
- 收藏
- 关注
原创 RAM,ROM,FLASH
RAM断电丢失,MCU是SRAM。当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。在某些情况下(很少见,NAND发生的次数要比NOR多),一个比特位会发生反转或被报告反转了。一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。
2026-02-27 08:47:59
8
原创 数控系统的指令倍频系数CMR
1:90(电机转 90 圈,工作台转 1 圈)(减速比 = 从动轮齿数/主动轮齿数)那么 FGR 只需要放大 125 倍即可 (2 * 125 = 250)。设置:参数 1820=2,参数 2084=250,参数 2085=1。假设你想提高系统内部的运算精度,你可以让 CMR 承担一部分放大任务。设置:参数 1820=1,参数 2084=125,参数 2085=1。(Resolution)的,而电子齿轮比(FGR)是用来匹配。那么剩下的倍数全部给电子齿轮比(FGR)。1.一圈的指令单位是。
2025-12-23 14:12:34
232
原创 主轴编码器
在漏光盘上,沿圆周刻有两圈条纹,外圈为圆周等分线条,例如:1024条,作为发送脉冲用,内圈仅1条。在光栏上,刻有透光条纹A、B、C,A与B之间的距离应保证当条纹A与漏光盘上任一条纹重合时,条纹B应与漏光盘上另一条纹的重合度错位1/4周期。2.与主轴配合车螺距:Z 轴停在起刀点,伺服锁死,主轴开始旋转,主轴编码器Z信号硬件中断。主轴转 1 圈,Z 轴走 1 个螺距”的比例(电子齿轮)跟随。:虽然每一个瞬间 Z 轴可能走一步或不走,但在宏观上,Z 轴的速度完美地是主轴速度的 4000/4096。
2025-12-22 16:14:07
447
原创 UDP的socket接口
int iRet = bind(iSocketServer, (const struct sockaddr*)&tSocketServerAddr, sizeof(struct sockaddr));这时需要创建服务端的结构体的tSocketServerAddr,用来绑定服务端的IP和端口 iSocketServer = (int)socket(AF_INET, SOCK_DGRAM, 0);UDP是无连接的。所以发收信息,是不操作客户端套接字的。需要建立客户端的结构体,记录目的的IP和端口。 while
2025-09-01 01:14:03
691
原创 CNC刀补轨迹过渡类型判断
这个值相当于 3D 向量叉积的 z 分量(垂直于 xy 平面)。cross = 0 → 两个向量共线(方向相同或相反)dot = -1 ⇒ 180°(反向)cross > 0 → 逆时针(左转)cross < 0 → 顺时针(右转)点积公式u⋅v=∣u∣∣v∣cosθ。dot = 0 ⇒ 90°(正交)dot = 1 ⇒ 0°(同向)2. cross(二维叉积的 z 分量)1. dot(二维叉积的 z 分量)点积就是 cos𝜃。
2025-08-15 16:07:31
263
原创 程序设计尽量避免重复计算
原因2:避免重复计算带来的误差。如果函数的参数更新由某个数值的浮点数计算而来。得出的数据又要传入函数的参数入口,重新计算这个数值。这就会导致浮点数误差积累。原因1:避免代码臃肿,重复率高。程序设计尽量避免重复计算。
2025-08-05 17:20:10
137
原创 单片机modbus
modbus_backend_t 根据RTU 和TCP构造不同的结构体_modbus_rtu_backend_uart。moubus.rtu和modbus.tcp向上提供一个统一的接口,modbus-data.c。modbus-data.c在主函数和modbus.c用到。根据传进的产生使用不同的moudbus_new__modbus_backend后端结构体。
2025-07-30 23:38:10
194
原创 单片机RAM的内存(存全局变量和局部变量),ROM存常量。ROM一般比RAM容量几十倍甚至上百倍。
这种情况,专业术语叫“爆栈”。程序会出现异常,而且是莫名其妙的异常。为了避免 这种情况,一般在编写程序的时候,函数内部都不能定义大数组的局部变量,局部变量的数量不能定义太多太 大,尤其要避免刚才所说的定义开辟大数组局部变量这种情况。大数组的定义应该定义成全局变量,或者定义 成“静态的局部变量”问:函数内部所定义的局部变量总数不超过单片机的“栈”区的 RAM 数量,那,万一超过了“栈”区的 RAM 数量,后果严重吗?
2025-07-15 15:11:14
111
原创 数控系统总线型(以太网)控制伺服电机
EtherCAT 会周期性下发 PDO(Process Data Object)数据帧。EtherCAT 实时通信基于。在该机制下,(通常是 CNC 控制器或 PLC)按照固定周期向(伺服驱动器、IO模块等)。每个周期内包含:主站发送数据帧(含所有从站的控制数据)数据帧穿过所有从站,边接收边写入最终帧返回主站主站从返回帧中提取反馈数据。
2025-06-18 15:32:24
610
原创 高级串口uart
主循环会定期检查 dma_received_flag,如果数据接收完成,便将数据从 DMA 缓冲区复制到环形队列中。DMA:DMA负责将串口接收到的数据传输到内存缓冲区,而空闲中断和DMA结合使用提高了数据接收效率。// 重新配置DMA接收长度,避免在下一次中断时丢失数据。// 将DMA接收到的数据写入环形缓冲区。空闲中断用于在串口接收没有数据时触发,用来处理接收到的数据。// 执行定时任务,例如处理数据。
2025-05-08 20:36:51
663
原创 STM32F407,TIM+ADC+DMA.
(uint16_t)(250*FFT_SIZE/SAMPLE_RATE), // 中低频:200-800Hz。(uint16_t)(1000*FFT_SIZE/SAMPLE_RATE), // 中高频:800-2kHz。(uint16_t)(60*FFT_SIZE/SAMPLE_RATE), // 低频:20-200Hz。(uint16_t)(3000*FFT_SIZE/SAMPLE_RATE) // 高频:2k-4kHz。
2025-04-08 19:30:06
818
1
原创 stm32串口GPIO模式大坑(一味抄diamond发现不了的)
串口TX端:这东西,TX端没什么争议,推挽模式,输出数据嘛,。串口RX端:一般都是,输入端嘛,他还能(6的)。:一旦没有外部确定的电平,而stm32引脚又配置为浮空,就很容易导致电平不稳定跳变,如果你使能了接收中断,就有可能乱入中断。(空闲状态时处于高电平,串口协议规定起始位为低电平,一个低,一个高就以为收到数据了)。上拉到高电平,闲时状态。RX复用推挽输出:由,引脚会通过硬件外设控制为推挽输出,能够驱动电平。不就是输入,而且更稳定。因为外部提供更强的信号驱动能力。
2024-12-20 23:32:27
912
原创 HCO5默认从机(可设置主从机)
一开始找不到通信遇到问题,蓝牙IAP在线升级,不成功,原来这款蓝牙的波特率规定为9600。网上一大堆文章,HC05又说主,又说从。真的不知道哪个真假。翻手册找到了,默认从机(可设置主从机)。
2024-12-18 17:51:37
185
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅