单片机-周例会培训大纲
@(单片机)
会议的操作步骤
- 每个人总结工作和计划,帮助员工解决难题, 查看工作质量,提出要求。
- 总结本周出现的问题和处理方法,宣贯决定、精神、规章制度。
- 回顾上周知识点,查看学习任务是否落实,解说本次的主题。
1. 我们该如何编写代码
同一个功能,程序的实现方式千变万化,我们该如何选择实现方式呢体来说,应该总以下三个方面进行考虑:
1.1 程序的可读性
1.2 程序的可维护性
1.3 程序的功能
规则和规范
推荐阅读书籍
- 《代码大全》
- 《代码整洁之道》
- 《程序员修炼之道-从小工到专家》
- 《head First 设计模型》
2. 我们该如何排查问题
问题排查流程
工作过程中,我们可能遇到各种各样的奇葩问题,遇到这些问题,我们该如何去解决呢们有以下手段去解决问题:
- 隔离问题-触发条件、清理代码。
- 由粗到细。 软件、硬件。
硬件: 电源、看门狗、实验
软件: 模块、函数、行 - 数据手册-学习知识的好时机。功能完成的整个逻辑、原理。
- 显示排查问题。 充分利用万用表、示波器、逻辑分析仪。
- 类比排查
- 假设-实验
- 厂家技术支持-排查问题。
- 寻求公司内部技术大拿的帮助。
- 放弃此方案。
总结和要点: 出现问题,一定要首先自己努力排查,而且没有解决不了的问题。
规则和规范
- 目前程序使用svn进行代码管理,需要自己学会svn基本功能的应用。程序发布需要建立tags。
3 黑盒测试-我们该如何做测试
测试的分类:白盒测试和黑盒测试。
测试的功能分离:性能测试、功耗测试、成功率测试(时间间隔)。
黑盒测试的步骤
研发提交程序之前,都需要进行内测,该如何进行测试呢/p>
- 理解业务,使用场景,设计测试用例。
- 理解和推测实现功能的原理,并对关键问题进行测试。
- 测试的顺序: 先关键、后细节。
- 出测试 告。
- 事出无常必有妖。偶尔出现的问题,可能都隐藏深层次的问题。
测试的原理: 复现,解决,测试。
测试中的墨菲定律:如果问题可能会出现,那么问题可能会出现。
规则和规范
- 做测试必须出测试 告,记录测试内容和测试方法。
4 白盒测试-测试驱动开发
内容见《测试驱动开发培训文档》
规则和规范
1 编写需要需要将基本 文和模块做到可以自动化测试。
参考书籍
- 《xUnit Test Pattern》
- 《嵌入式测试驱动开发》
- 《google Test官方测试文档》
5 C语言知识-头文件
代码#include的有什么作用生的时间段是什么时候/h3>
头文件该如何编写
原理应用: 如何实现硬件抽象层。
详情请见 水表读数器自动测试代码
6 C语言知识-函数指针
函数指针基本用途:
- 函数指针是一个指针变量变量,占用4个字节。
- 函数在编译后就是一段二进制代码,每个函数都有初始地址,函数指针就是调用这个地址。
- 函数指针可以起到接口的作用,可以分离接口和实现。
函数指针的典型应用
- 回调函数: 标准库中的排序
- cmd框架中对命令的抽象
- 通用框架的编写
7单片机设计模式-缓冲区和查表
缓冲区模式应用场景:
- 通用缓冲区可以让cpu并行处理串口收发和其他事务。
- 缓冲区是硬件隔离层,缓冲区上层是应用相关的,缓冲区下层是硬件相关的。
- 常用缓冲区示例: 串口fifo缓冲区、按键、摄像头图像缓冲区
查表模式(数据驱动):
- 查表模式可以消除结构性代码重复,让程序更加容易维护。
- 自动探测数组大小的两种方法,ARRAY_SIZE 和 哑元
- 查表结构分为两部分:
- 1 查表的框架,用来处理所有表元素的公共操作
- 表项,用来处理每一项具体业务。
- 示例: 任务处理机制、协议中did的处理、CMD处理方式
8 单片机设计模式- 状态机模式和面向对象开发
状态机
- 状态机模式主要主要用来消除负责的条件判断,和任务完成就需要多个步骤的情况才能完成的情况。
- 最简单的状态机编写: 状态变量+ switch case模式
- state machine的使用
- 应用实例: PLC初始化
c语言面向对象
- 接口表达:头文件
- 如何实现继承 数据继承 -》 结构体
- 多态 方法使用函数指针表示
4.应用实例: Flash copy
参考书籍
- 《C语言面向对象开发》
- 《量子状态机》
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!