原创 小批量 项目的一些心得与体会

2015-12-22 00:38 1636 15 16 分类: MCU/ 嵌入式
写在最前:转载请注明出处。

最近几个月来都在做公司的智能家居,智能锁之类的开发,自己负责技术研发的同时,也负责硬件方面的生产。
我在这里也就简单说一下自己的一些收获和体会,也是一种总结吧。
关于技术;
1,慎用看门狗,看门狗是很好用的一个功能,使用它可以增加程序在实际情况中的稳定性,但要注意一些地方:
a,看门狗一旦启动,只能重新烧写修改而不能在软件里修改,特别是在bootloader里面做看门的时候,你在App里面也有做看门狗。
b,看门狗的喂狗程序在while()语句里面要注意,例如

unsigned long RestTime=1500000; //随便设定 意思是程序太大
while(Flag)
{
    RestTime--;
    FeedWdg(); //喂狗
    .....;  //自己的程序
    if( ..) break;
}

 这是一个典型的设置。

2,检查好你的驱动
a,在网上down例程的时候,很多是51例程,我们在将51例程移植到stm8 stm32的时候,要注意移植GPIO的时候
,推挽输出,上拉输入,开漏输出是个人比较经常用到的。其中开漏输出加上外借的上拉电阻可做双向IO。读取IO电平
的时候用GPIO_ReadInputDataBits(GPIOB,GPIO_Pin_x) //我是在记事本上写的,所以大家只作为参考。
b,无线芯片的使用请在程序中设计一个能重新初始化的功能。
c,使用GPIO_ReadInput_DataBit(GPIOx,GPIO_Pin_x)和PXin(x)有时候不可以通用。本人吃过这方面的亏.
d,无线发送不出去一般都是硬件问题,硬件问题无非是短路或者断路,检查好你的芯片引脚有没有短接,检查好你的主控芯片
有没有短接,相邻的电器元件有没有焊锡的时候碰到了。
f,硬件ok的情况下,大部分还是驱动问题。

3,stm8的定时器3不能做到很精准的中断。

4, 无论使用任何一款主控芯片,在使用IO口的时候都要注意不要用到特殊引脚,VDD,VSS,还有特殊IO如Jtag SWD的IO,以免导致不能下载程序

5,在中断里面不要做太多运算,特别是精确的定时。

6,多使用状态机

7,灵活利用到数组和指针。

8,在开发的时候,尽量在ok的例程上进行二次开发。(很多Option问题错的不明不白)

9,SPI,I2C 用软件实现会容易,,可能稳定性有一些问题,但是目前为止没有什么BUG.

10,少用Delay();

11,待补充


生产
1,自己要做一个生产硬件测试工具

2,样机一定要每个功能多测试几遍,首先要确保硬件没有问题,电路没有问题。小批量的生产也是几百个,如果硬件的问题对每个人的工作量都是非常大。

3,手机APP应该有测试版和实际发行版,方便测试。

4,买的料要在样机上测试ok,而不是用之前的元器件。

5,设计电路板的时候要多想想工序问题,使得工序尽量简洁。

6,弱电和强点要分开,特别是晶振之类的元器件与强电要保持足够的距离。

7,生产的时候要和生产的部门做好交接,并注明注意事项。

8,待补充



深夜发发感想,对了,在这里问大家一个问题,也希望有机会得到大家的指导。
应用场景是这样的,从机发送指令到主机请求下载歌曲,主机接到请求好发送命令+从机地址+歌曲大小到 从机 从机收到指令后开始下载,与此同时还可以播放歌曲(边下边播),与此同时
为了丰富用户交互体验,所以从机可能语言提示操作者要不要现在就播放或者其他的语言提示。在Flash上面实现这个下载音乐这个过程,但是Flash也就100多k,从机从主机那里下载的速度是100k每秒,
从机的播放的速度是100kb每秒,请问大家这个边下边播怎么在Flash上面实现呢。

作者: Bruce-Woo, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-1850657.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论1条评论)

登录后参与讨论

用户1775205 2015-12-25 10:25

总结的很到位,希望博主越来越好
相关推荐阅读
Bruce-Woo 2023-03-07 15:14
嵌入式面试之系统
最近一段时间在开始找工作,自己以前也面试过其他人,想从实际工作的角度,来提出一些有意义的问题并做一些浅薄的解答,期望帮助到找工作或者刚开始当面试官的朋友。我把面试要准备的地方列成一下几个注意点,大家...
Bruce-Woo 2023-02-25 21:59
芯片选型的思路
近来在面试,不知为何很多人问起我刚毕业的时候的项目中的一个芯片选型的事情,回过头来整理下,希望可以帮助到后面的朋友1. 开发难度 开发难度,要考虑本身的程序员的开发能力,擅长的领域和工具等。综合下你...
Bruce-Woo 2021-03-17 14:19
记一次调用动态库报错的处理过程( undefined symbol)
最近工作在调用其他同事的一个动态库的时候发现有 未识别的错误 特此记录一下         首先我们用ldd查一下动态库连接是否有问题   ...
Bruce-Woo 2021-03-11 15:03
ubuntu16.04下安装svn
SVN和GIT相信是大家使用最多的代码协同工具,不过可能在win下用的比较多,那今天在ubuntu上运行一遍,操作都差不多。某种程度上讲,我也更喜欢指令操作。1. 远程登录虚拟机,也可以页面操作,看个...
Bruce-Woo 2021-02-09 01:08
2020,我想和你谈谈
这篇文字无关技术,也没有代码。 这是最好的时代,也是最坏的时代!写在回家前夜。 不到10个小时后就要开始坐车回家,手头的工作也没有做完。正经的事儿没完成,乱七八糟的事情倒是想了不少,说话是一种表达方...
Bruce-Woo 2021-01-19 12:34
cmake的安装过程
今天在编译opencv的时候突然发现cmake失败,显示版本不同遂决定修复之方法如下下载更高版本cmake,可在cmake官网下载 解压 tar -zxvf cmake-3.19....
我要评论
1
15
关闭 站长推荐上一条 /2 下一条