独闷闷网

 找回密码
 立即注册
搜索
楼主: jianhong_wu
打印 上一主题 下一主题
收起左侧

[原创] 从业将近十年!手把手教你单片机程序框架(连载)

[复制链接]
楼主
发表于 2014-7-28 21:16:59 | 显示全部楼层
jianhong_wu 发表于 2014-4-5 11:19
第三十八节:判断数据尾来接收一串数据的串口通用程序框架。

开场白:

同志们:
          如果你们在看鸿哥的程序串口不懂的配置,可以参照我的,我刚开始没调出来是QQ群里的@小傅-惠州告诉我要在中间的  单字符串   发送区就可以的
使用说明书如下

说明书.jpg (90.29 KB, 下载次数: 341)

说明书.jpg
乐于分享,勇于质疑!
沙发
发表于 2014-7-28 21:40:43 | 显示全部楼层
jianhong_wu 发表于 2014-7-28 21:24
很不错的分享精神。

很不幸的是我之前没用世界上最好用的串口调试助手
很幸运的是碰到这个问题后让我知道了世界上最好用的串口调试助手http://www.dumenmen.com/forum.ph ... &extra=page%3D2
乐于分享,勇于质疑!
板凳
发表于 2014-8-21 10:29:09 | 显示全部楼层
本帖最后由 又一个暑假 于 2014-8-21 10:37 编辑
jianhong_wu 发表于 2014-4-7 13:14
第四十节:常用的自定义串口通讯协议。
开场白:上一节讲了判断数据头的程序框架,但是在很多项目中,仅仅 ...

“其中第5,6位HH就是有效数据长度。高位在左,低位在右。“这句话没理解,鸿哥麻烦解释一下。“Led灯短亮发送:eb 00 55 02 00 02 00 28 6c”这里的“00 02”表示由“00 28”组成一个数据“0x0028”这样理解对吗
乐于分享,勇于质疑!
地板
发表于 2014-8-21 10:59:01 | 显示全部楼层
jianhong_wu 发表于 2014-8-21 10:39
表示有两个字节合成的int型数据,左边的是高位,右边的是低位。比如十六进制的两个字节 A2  9C ,相当于 ...

鸿哥用了2个字节来表示数据长度,那么有效数据“XXXXX。。。。YYYYY”可以达到65535个字节对吧
乐于分享,勇于质疑!
5#
发表于 2014-8-21 11:55:41 | 显示全部楼层
本帖最后由 又一个暑假 于 2014-8-21 11:57 编辑
jianhong_wu 发表于 2014-4-7 13:14
第四十节:常用的自定义串口通讯协议。
开场白:上一节讲了判断数据头的程序框架,但是在很多项目中,仅仅 ...

ucRcregBuf[uiRcMoveIndex+6+uiRcSize]=0;  //清零最后一个字节的累加和变量 这里都清零了

        for(i=0;i<(3+1+2+uiRcSize);i++) //计算校验累加和
                                                         {
                                                                 ucRcregBuf[uiRcMoveIndex+6+uiRcSize]=ucRcregBuf[uiRcMoveIndex+6+uiRcSize]+ucRcregBuf[uiRcMoveIndex+i];//这里为什么ucRcregBuf[uiRcMoveIndex+6+uiRcSize]不加为什么不行
                                                         }   


1.jpg (59.1 KB, 下载次数: 330)

1.jpg
乐于分享,勇于质疑!
6#
发表于 2014-8-21 17:47:53 | 显示全部楼层
jianhong_wu 发表于 2014-8-21 13:40
它是一个累加和变量,前面已经清零了一次,后面当然不用清零了。比如:

噢,看花眼了。问了如此低级的问题
乐于分享,勇于质疑!
7#
发表于 2014-8-28 09:26:44 | 显示全部楼层
jianhong_wu 发表于 2014-8-21 21:39
再过五节左右就会讲到多文件编程的。

后期会涉及讲12864液晶屏的章节吗
乐于分享,勇于质疑!
8#
发表于 2014-9-1 18:48:07 | 显示全部楼层
jianhong_wu 发表于 2014-8-4 13:27
第六十一节:组合BCD码,非组合BCD码,以及数值三者之间的相互转换和关系。
开场白:
本来这一节打算讲 ...

   p_ucBCD_bit8[7]=ulNumberTemp%100000000/10000000;//一个字节8位存储第8位非组合BCD码
   p_ucBCD_bit8[6]=ulNumberTemp%10000000/1000000;//一个字节8位存储第7位非组合BCD码
   p_ucBCD_bit8[5]=ulNumberTemp%1000000/100000;//一个字节8位存储第6位非组合BCD码
   p_ucBCD_bit8[4]=ulNumberTemp%100000/10000;//一个字节8位存储第5位非组合BCD码
   p_ucBCD_bit8[3]=ulNumberTemp%10000/1000;//一个字节8位存储第4位非组合BCD码
   p_ucBCD_bit8[2]=ulNumberTemp%1000/100;//一个字节8位存储第3位非组合BCD码
   p_ucBCD_bit8[1]=ulNumberTemp%100/10;//一个字节8位存储第2位非组合BCD码
   p_ucBCD_bit8[0]=ulNumberTemp%10;//一个字节8位存储第1位非组合BCD码

   p_ucBCD_bit8[7]=(ulNumberTemp/10000000)%10;//一个字节8位存储第8位非组合BCD码
   p_ucBCD_bit8[6]=(ulNumberTemp/1000000)%10;//一个字节8位存储第7位非组合BCD码
   p_ucBCD_bit8[5]=(ulNumberTemp/100000)%10;//一个字节8位存储第6位非组合BCD码
   p_ucBCD_bit8[4]=(ulNumberTemp/10000)%10;//一个字节8位存储第5位非组合BCD码
   p_ucBCD_bit8[3]=(ulNumberTemp/1000)%10;//一个字节8位存储第4位非组合BCD码
   p_ucBCD_bit8[2]=(ulNumberTemp/100)%10;//一个字节8位存储第3位非组合BCD码
   p_ucBCD_bit8[1]=(ulNumberTemp/10)%10;//一个字节8位存储第2位非组合BCD码
   p_ucBCD_bit8[0]=(ulNumberTemp%10;//一个字节8位存储第1位非组合BCD码

这两种写法有没有什么区别或什么好处
乐于分享,勇于质疑!
9#
发表于 2014-9-2 09:41:38 | 显示全部楼层
jianhong_wu 发表于 2014-9-2 09:40
这两种写法实现的功能都一样的。没有什么区别,也没有优劣之分。

OK
乐于分享,勇于质疑!
10#
发表于 2014-10-6 12:14:41 | 显示全部楼层
鸿哥下次能不能把把整个工程文件夹压缩好附在后面传上来啊,在这里复制代码自己在建个工程挺懒的
乐于分享,勇于质疑!
11#
发表于 2014-10-6 15:07:32 | 显示全部楼层
jianhong_wu 发表于 2014-10-6 12:29
我的都是一个源文件的,复制很简单的。你的请求被驳回了。

我以为你后期要用多文件来编
乐于分享,勇于质疑!
12#
发表于 2014-10-28 15:15:11 | 显示全部楼层
鸿哥的液晶更新有点多节啦,得开始研究了
乐于分享,勇于质疑!
13#
发表于 2015-1-13 20:08:57 | 显示全部楼层
年底大家都比较忙,鸿哥的巨作也放慢了脚步
乐于分享,勇于质疑!
14#
发表于 2015-2-11 14:57:52 | 显示全部楼层
jianhong_wu 发表于 2015-1-14 22:52
最近大家都挺忙。

鸿哥后面会有PID控制算法的章节吗
乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2024-5-4 03:16 , Processed in 0.212043 second(s), 17 queries .

快速回复 返回顶部 返回列表