windsoft77 发表于 2025-7-27 10:49:29

{:aini:}打卡

ydtaodrs 发表于 2025-7-27 22:04:42

加个vscode环境的教程就更好了,虽然我配置成功了{:4_165:}

怕热的大叔 发表于 2025-7-28 01:44:21

交作业,串口2 通信 演示modbus通信, 软件 照抄 梁工,演示 modbus写多寄存器和 读多寄存器 ,在写多寄存器的时候,把modbus接收寄存器的第一个数据   用数码管显示出来。 从机地址 0x10 , 0x10 为写多寄存器命令    0x03 为读多寄存器命令

后面为格式介绍,电脑发送命令格式和从机返回数据格式
/********************* modbus协议 *************************/
/***************************************************************************
写多寄存器
数据:          地址    功能码   寄存地址 寄存器个数写入字节数   写入数据   CRC16
偏移:   0      1      2 3      4 5          6          7~      最后2字节
字节:   1 byte   1 byte    2 byte   2 byte      1byte       2*n byte   2 byte
         addr   0x10      xxxx   xxxx      xx         xx....xx    xxxx

返回
数据:          地址    功能码   寄存地址 寄存器个数   CRC16
偏移:   0      1      2 3      4 5         6 7
字节:   1 byte   1 byte    2 byte   2 byte      2 byte
         addr   0x10      xxxx   xxxx      xxxx


读多寄存器-
数据:站号(地址)功能码   寄存地址 寄存器个数CRC16
偏移:      0       1      2 3      4 5         6 7
字节:    1 byte1 byte    2 byte   2 byte   2 byte
          addr    0x03      xxxx   xxxx       xxxx

返回
数据:站号(地址)功能码   读出字节数读出数据CRC16
偏移:      0       1      2         3~      最后2字节
字节:   1 byte   1 byte    1byte      2*n byte2 byte
         addr   0x03       xx       xx....xx   xxxx

返回错误代码
数据:站号(地址)错误码   CRC16
偏移:      0       1      最后2字节
字节:   1 byte   1 byte   2 byte
         addr   0x93   xxxx
***************************************************************************/

ZRF197210 发表于 2025-7-28 19:23:12

学习中

thinkineye 发表于 2025-7-29 10:52:59

打卡学习

ZRF197210 发表于 2025-7-29 20:14:18

打卡学习

赫兹豆 发表于 2025-7-30 09:31:05

日常打卡学习

myxy2000 发表于 2025-7-30 10:09:00

学习中

白水大虾2016 发表于 2025-7-30 14:11:12

{:4_174:}

宋余余 发表于 2025-7-30 20:25:12

8051U单片机学习心得
第一集
首次见识到51单片机竟能实现视频播放、频谱分析等复杂任务,尤其是AI加持的手写计算器功能令人惊叹。实践中发现摄像头校准需精准调参,而PWM控制灯具亮度时需注意频率稳定性。烧写程序前务必备份原固件,曾因误操作导致芯片短暂失效;DMA传输数据时需严格匹配时序。

第二集
OLED屏幕对比度调节直接影响显示效果这一细节值得铭记。尝试用矩阵键盘设计简易密码锁时,深刻体会到防抖算法的重要性。
利用STC官方提供的IO配置工具批量设置端口模式,比手动编码效率高3倍以上。流水灯案例让我掌握多路GPIO并发控制的编程思路。

第三集
代码规范养成:新建工程时严格遵循“头文件先行”原则,避免跨文件编译错误;主函数模块化设计使逻辑更清晰。点亮首个LED的成功瞬间带来巨大成就感,但也暴露出初期对三极管驱动电路理解不足的问题。
采用分段注释法定位代码漏洞,例如在控制LED闪烁程序中,通过逐步屏蔽功能模块最终锁定定时器初始化错误。

第四集
自动化革新体验使用USB库实现免按键下载后,开发效率大幅提升。研究CDC与HID协议差异时,发现前者更适合数据传输场景。移植文件到新项目时,标准化的初始化函数封装显著减少重复劳动。
通过Python辅助转换数据类型,深入理解了寄存器操作本质。编写USB中断代码时,总开关机制有效防止了程序意外重启问题。

第五集
系统梳理了C语言运算符优先级规则,特别是在处理复合表达式时不再迷茫。利用串口助手验证printf格式字符串时,掌握了%x/%d等占位符的实际应用场景。
思维转变关键:从单纯追求语法正确转向注重运行效率,例如用位运算替代除法运算以优化性能。逻辑运算符章节的案例训练极大提升了条件判断的准确性。

第六集
设计按键检测程序时,理解了机械抖动带来的虚假触发问题,采用20ms软件延时配合状态机模型通过while语句实现松手检测占用cpu时间过长,还是建议优化代码。
使用ISP软件自带的延时计算器生成精确定时函数,确保不同晶振频率下的兼容性。变量状态跟踪法有效捕捉了瞬态信号变化过程。

第七集
告别阻塞式delay函数后,系统资源利用率提升显著。多层定时器嵌套实现的多任务调度。
制作报警按钮模块时,主动增加防误触机制;编写文档注释时同步更新版本历史记录。
页: 166 167 168 169 170 171 172 173 174 175 [176] 177 178 179 180 181 182 183 184 185
查看完整版本: 《8051U深度入门到32位51大型实战视频》,【免费 + 包邮 送】实验箱@Ai8051U,100万套