- 博客(8)
- 收藏
- 关注
原创 编码规范篇
本文从编码规范角度探讨了如何提升代码质量,主要涵盖三个关键问题:代码排版、命名风格和结构优化。在排版方面,强调了对齐、缩进、空格和空行的规范使用。命名风格部分比较了匈牙利命名法、驼峰命名法和蛇形命名法,推荐统一使用类名+动作+名称的接口命名方式。最后指出复合条件过长和深层嵌套会降低可读性、增加测试难度,建议避免过度嵌套。这些规范能显著提升代码的可读性和可维护性,是编写高质量代码的基础实践。
2026-06-09 18:06:53
221
原创 eeprom中写入延时引起的问题
这是因为对于单tick的延时实际时间是当前时间到下一个tick中断发生的时间差,例如上面单tick为10ms,当前离上一次tick中断为9ms,此时进行单tick延时,在不考虑其他线程优先级影响的情况下,本次延时实际只有1ms,也就是说单tick线程延时范围是(0~10)ms,具体时间取决于当前离下次tick的时间,这也就是为什么使用单tick进行eeprom的写入等待延时会出现写入不成功的问题了。的时间,让eeprom内部能够完成数据写入,并且在这期间eeprom无法响应任何的输入指令,
2025-07-26 12:27:35
547
原创 高速串口由中断改为DMA传输的问题
串口通讯优化过程中遇到的主要问题及解决方案:1)FIFO函数执行过慢导致接收溢出,优化为单字节操作;2)DMA发送完成后需延迟切换半双工状态,确保数据完全传输;3)动态内存分配不当导致内存耗尽,需合理设置缓冲区上限;4)DMA通道分配不合理影响接收时效性,应优先保证接收。这些经验教训表明,串口通讯优化不仅需要考虑功能实现,还需关注执行效率、时序控制和资源管理等多方面因素。
2025-07-10 19:51:27
940
原创 一些中级嵌入式系统设计工程师考试的知识总结
本文系统介绍了嵌入式系统的硬件与软件基础知识,主要内容包括: 计算机系统基础:涵盖嵌入式系统定义、硬件组成(运算器/控制器/存储器)、数据表示与进制转换方法。 硬件基础:解析数字电路(逻辑电路、集成电路)、微处理器架构(冯诺依曼/哈佛)、指令集(CISC/RISC)、多核处理器、异常中断机制及模数接口设计。 硬件设计:阐述电路设计步骤、可靠性指标(MTBF/MTTF)、PCB设计要点(地线/电磁兼容)。 软件基础:分析嵌入式软件特性、操作系统分类、任务/存储/设备管理及文件系统实现。 开发与测试:概述嵌入式
2025-06-28 11:52:37
532
原创 对于stm32 systick timer周期为1ms的函数设置分析
之前一直对stm32的上电后的system tick timer时钟配置存疑,为什么定时时间不随频率改变总能保持1ms,cude生成的两个函数HAL_Init()、SystemClock_Config()具体做了什么。趁着空闲把困惑已久又不起眼的问题解答了。首先分析main中第一个调用的函数HAL_Init():HAL_StatusTypeDef HAL_Init(void){ /* Configure Flash prefetch */#if (PREFETCH_ENABLE != 0)#i
2021-06-19 15:55:40
2709
1
原创 modbus从机的实现(STM32F1平台_RTU模式)
最近工作中需要用到modbus通信,在查阅了相关资料后在stm32f1中实现了符合要求的modbus协议。因为我的主机只需对保持寄存器(RW)进行单个或多个寄存器的读写,所以只需要实现对0x03(读寄存器)、0x06(写单个寄存器)、0x10(写多个寄存器)这三个功能码的响应。我们首先要知道modbus的命令帧结构如下:从机地址功能码DataCRC高字节CRC低字节address8BitN*8Bit8Bit8Bit然后分析下modbus的工作流程:1、从机初始化
2021-06-17 18:20:15
4221
1
原创 弹球游戏的实现(Linux平台)
##最近在看unix/linux实践教程这本书来学习linux系统编程,看到第七章里面有用到基于事件编程写一个弹球游戏的练习,觉得挺有趣的就把完整的实现大概写了一下,首先弹球游戏需要在屏幕绘图,那就需要用到一个叫curses的图形库,安装命令如下:sudo apt-get install libncurses5-dev,安装完后在程序中添加头文件#include "curses.h"即可使用里面的绘图api,关于curses库的api网上有很多也很详细,这里就不赘述了。另外要注意在用gcc编译时需要加-lc
2021-05-04 19:40:30
1241
原创 Linux/Unix系统编程手册 5-5 .编写一程序,验证文件描述符及其副本是否共享了文件偏移量和打开文件的状态标志。
Linux/Unix系统编程手册 5-5 .编写一程序,验证文件描述符及其副本是否共享了文件偏移量和打开文件的状态标志。设原文件描述符fd,副本文件描述符cpfd,先用lseek获取两个文件描述符指向的文件的文件偏移量,然后与调用write后的文件偏移量作比较可得出共享了文件偏移量的结论,在之后调用fcntl加入O_APPEND这一原来没有打开的状态,和上面一样比较两个描述符打开的文件的状态也可...
2019-11-06 23:58:22
416
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅