嵌入式产品经验积累
2017-06-27 本文已影响20人
若生活如你所愿
** 温控插座 **
这个项目印象太深刻了。所以我想把他记录下来。主要问题是:客户前期工作没做好。产品需求不明。导致后期开发出现了很多问题。
问题
1.按键和液晶显示的功能都只是初步描述。导致后期开发更改几次。比如有些显示需要闪烁。但是前期设计都没有以文档的格式提出需求。
2.功能考虑不全面。导致后期改动较大。掉电数据存储问题就是比较突出的问题。这次开发中。刚开始也是由于自身经验不足。没有考虑到需要保存一些用户的配置数据。后来产品需要批量生产的时候。客户提出这样的需求。这时flash剩余空间不足。要优化代码。同时。如果前期考虑的这样的需求。可能会在电路上加一个电容。这样就可以在掉电检测后进行数据保存。flash的擦除次数有限。现在的方案只能是。每隔一端时间检查数据是否变化。从而判断是否进行flash读写。
3.将需要存储的数据,flash空间翻倍。这样增加整个设备的使用寿命。比如我需要存储40B,可以用160B的flash分成四份,交替存储这40B的数据。
4.串口总是丢包
5.flash读写不成功
经验
- 需求形成开发前形成详细的文档
- 硬件产品考虑是否需要保存用户的配置数据
- flash擦除次数有限,可以使用轮询的方法
- 这里的串口丢包是因为,在串口接收中断函数里又给串口发送数据造成的。但是一般串口是可以的这样的。
- 这个项目里面找到的原因是,串口和LCD会影响时序,最后在进行flash读写操作过程中每个寄存器的读写都进行EA的开关,TA保护后解决了这个问题。
** 晾衣架 **
这个只是一个简单的植入项目。主要的问题出现在串口
问题
1.串口能收发有问题。但是已经确认usb-ttl是没有问题的。
2.MCU先上电。wifi后上电。串口通信没有问题。但是同时上电就不行。
经验
- 可能是因为没接GND。可能是发送格式有问题。 ff ff 05 00 11 97 03 01 b1这是ok的。 ff ff 5 0 11 97 3 1 b1这样可能就是不行的
- 这个项目里wifi上电后会打印很多串口消息。单片机可能是模拟串口。太多的高低电平。MCU没有处理好导致的。MCU可以上电后延迟几秒接收收据。
** 433RF项目 **
问题
1.电源问题
经验
- cc1101对电压有要求。最大电压不能超过3.6v。多注意看工作条件。刚开始的时候发现N79E715的输出电压是5v,但是可以修改成3v的。
** 2.4G项目 **
经验
- 产品设计。此项目主要是用来替换部分智能产品。达到降低成本的目的。一个家庭可以只有一个esp8266用来做网关。其他智能产品用2.4G模块和8266进行通信。
** 平衡传感器 **
问题:SPI一直收不到数据,接在示波器上看,当MISO引脚从MCU上取掉的时候会发现,波形正常了
解决:这说明MISO引脚可能是输入输出模式没有初始化成输入模式。将MCU上的MISO GPIO口改成准输入模式