温度控制模块项目总结

来深圳已一月有余,回望这段时间,收获颇多呀。
两周学习can通信协议,并且驱动电机,这个就不细说了。这次主要说一下刚完成的温度控制模块的项目,因为在此项目中实在收获不少呀。
这最开始,要说一下程序代码的结构策划,这是本次项目中最大的收获。这个技能可以说给我的代码生涯打开了一个新的大门。主要通过两个方面着手如何学习代码的结构策划:一个是公司前辈的指点,另一个就是《程序员的思维修炼》这本书给到的思维上的启迪。下面就以温控系统为例,来简单说一下。
以框架来写代码,首先要做一个构思:从最顶层的功能开始写起,然后一步一步拆分,一直到最底层。如下:
在这思维里插入图片描述
具体到温控模块
在这里插入图片描述
当完成了整个功能模块的构划,接下来写代码就要从最底层开始写起,驱动层,数据处理层,应用层,这样一层一层往上实现。当学会先搭框架,再去写程序,思路会更清晰,后续阅读代码和移植代码也会很方便。
另外多说一下在其中用到的一个减小温度稳定范围的技巧(其实用pid算法更好,但时间紧迫,后续会补一个pid算法稳定温度的博客),这里就先只是说一下我所想到的一个方法。主要分成两个部分,一部分是adc值得滤波,得到更可靠的值。操作步骤是先冒泡排序,在去头去尾。代码如下:

//冒泡排序
//输入参数:*dat:排序的数据 len:排序的数据长度
//输出参数:无
void Temp_Sort(uint16_t *dat, int len)
{
   
	uint16_t t;
	u8 i;
	u8 j;
	for( i=0;i<len-1;i++)
	{
   
		for( j=0;j<len-1-i;j
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值