OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 18199|回复: 40

系统需要稳定,人需诚实守信!(STM32 12864带字库串行方式串口实验 自定义字符)

[复制链接]

5

主题

107

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2013-5-5
在线时间
0 小时
发表于 2013-7-20 11:12:19 | 显示全部楼层 |阅读模式
   想我泱泱大国,以诚信为本!
   那个谁谁谁,放开原子哥,有事冲大家来!
   计划赶不上变化,变化赶不上客户端的一句话!
   说来惭愧,离上次发帖已经快俩个月了,原因是客户发话了:12864(带字库)显示的字太大了,要求改小。以前搞过自定义字符,不过是并行方式,觉得原理差不多,遂应之。12864自定义字符的核心是任意位置显示一个点,只要写出画点函数,其他画线,画矩形,画个圈圈诅咒你都是浮云!画点函数必须先读数据再写数据,可问题来了,我写出的画点函数显示显示下一个点会把前一个覆盖,也就是不能同时显示两个点,单步跟一下,发现问题,MCU无法读取LCD,每次读到的都是0,上网查资料,一看吓一跳,说是ST7920的硬件问题,串行方式无法读取,可数据手册上写的可以,卡在这里,但事情总得解决!有些人必须做点什么。改并行方式?开什么玩笑,板子都打样了;改程序,调了好多次没用,怎么办呢?活人还能让尿给憋死?经过带头大哥的一番指点,果断打通任督二脉,新方法是:在单片机内开辟一块显存区,所有的显示函数直接操作显存区,然后一起刷新显示!一想速度,32的速度还跟不上12864?还有缺点是占内存,想到128K,我自己也呵呵了,不用白不用,留着给谁用!成功将原来的16X8大小改成4X5大小,人一下子精神不少,敲一下午代码腰也不酸了,骑自行车回学校腿也不疼了,食堂的饭也觉得香了!然而,人的一生就是一个问题接着另一个问题,有的解决了,有的未解决,一个大问题正随着时间的流逝悄然而至!这是后话!
    显示问题搞定,主板基本搞定,就差串口通讯,三线齐飞,波特率设置一致,数据手到擒来,这里说说通信协议,我自己写是和校验,底板发送的数据开始加个命令头,然后发送有效数据,最后发送的所有数据的和,主板判断最后数据是否一致?相等则显示,不相等则重新发送!可能有人会说了(有人真的很厉害,从小到大就数他问题最多),如果数据中增加量刚好等于减少量那和校验岂不是没用?理论上有这个可能,但概率和国足进世界杯差不多,经调试后发现,和校验简单,可靠,实用。当然你也可以用CRC校验,奇偶校验,你也可以制定属于自己的游戏规则!主板和底板之间来电后,整个检测器总算搞定,接下来,组装,上电,测试,50套,开心!
    祸兮福所倚福兮祸所伏!老祖宗早把一切看透了。当我得意的还在公司焊板子的时候,同学的一个电话差点没把烙铁扔在两腿之间,这周考试了!没错,大问题终于来了!听到后第一反应怎么这么早,我该怎么办!赶紧请假,通宵,红牛,借书,看书!时间实在紧迫,但总不能晚节不保啊。这学期由于实习,课几乎都没去,只好听天由命了!考完后什么都不管,挂就挂呗,爱咋咋滴,踢球先!
   几天后成绩出来了,查分数心情还是那么的小激动,还好哥命好,人品好,没有扑街,之后等着上短学期,我会告诉你我们的短学期内容竟然是STM32串口通信!!!果然又应了老祖宗的话,深藏功与名!果断请假实习答应最后一天验收。STM32用的还是F103C8T6,直接将代码移植,两天搞定,自己还扩展了一个电量指示器,采集一路AD值转化成电压串口发送,电压越大,LED亮的个数越多,老师说不错!心里偷着乐一个!
   程序的效果如下图,没事显示了三张图片,分别是基地标志,NBA标志和楼主,接着是自定义字符显示,等待发送,协议用的原子哥的回车键结束,显示加了换行处理,希望和大家一起进步加油!程序中如有什么错误,请加以指正,在下不甚感激! 



   
   

stm32 12864 (串行)串口实验.zip

1.16 MB, 下载次数: 6068

游走在生活里,你我都是涉世未深的旅人,前方有我们为之心怡的归宿,身后又是一片葱郁的往昔,让生活的零碎随风而来,又似过往的随风云烟而散,唯有这厮,方能守得云开,待到春花烂漫!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

107

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2013-5-5
在线时间
0 小时
 楼主| 发表于 2013-7-20 11:19:32 | 显示全部楼层
额。。。。。图片怎么这么小,郁闷



游走在生活里,你我都是涉世未深的旅人,前方有我们为之心怡的归宿,身后又是一片葱郁的往昔,让生活的零碎随风而来,又似过往的随风云烟而散,唯有这厮,方能守得云开,待到春花烂漫!
回复 支持 反对

使用道具 举报

8

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2012-12-17
在线时间
0 小时
发表于 2013-7-20 13:36:29 | 显示全部楼层
顶楼主,哈哈。
个人博客:http://blog.sina.com.cn/u/2539869495
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-20 15:08:39 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

2

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
142
金钱
142
注册时间
2013-5-24
在线时间
9 小时
发表于 2013-7-20 15:48:00 | 显示全部楼层
此乃大神也,鉴定完毕
回复 支持 反对

使用道具 举报

11

主题

125

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2012-6-21
在线时间
8 小时
发表于 2013-7-20 23:27:56 | 显示全部楼层
已下载!谢谢!
回复 支持 反对

使用道具 举报

11

主题

125

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2012-6-21
在线时间
8 小时
发表于 2013-7-20 23:36:12 | 显示全部楼层
回复【楼主位】冰尘牧之:
---------------------------------
请问楼主,12864是不是要5V电压供电才能正常工作,我的12864是黄绿屏的那种,接3.3V供电,无法正常工作,接5V工作正常,求解..........
回复 支持 反对

使用道具 举报

5

主题

107

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2013-5-5
在线时间
0 小时
 楼主| 发表于 2013-7-21 10:54:27 | 显示全部楼层
回复【7楼】yubanbisheng:
---------------------------------
有的5V,有的3.3V,具体看你买的液晶数据手册
游走在生活里,你我都是涉世未深的旅人,前方有我们为之心怡的归宿,身后又是一片葱郁的往昔,让生活的零碎随风而来,又似过往的随风云烟而散,唯有这厮,方能守得云开,待到春花烂漫!
回复 支持 反对

使用道具 举报

5

主题

107

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2013-5-5
在线时间
0 小时
 楼主| 发表于 2013-7-21 10:55:15 | 显示全部楼层
回复【5楼】dll_epdc:
---------------------------------
人外有人,天外有天,我只是一个刚上路的菜鸟
游走在生活里,你我都是涉世未深的旅人,前方有我们为之心怡的归宿,身后又是一片葱郁的往昔,让生活的零碎随风而来,又似过往的随风云烟而散,唯有这厮,方能守得云开,待到春花烂漫!
回复 支持 反对

使用道具 举报

11

主题

125

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2012-6-21
在线时间
8 小时
发表于 2013-7-21 12:10:01 | 显示全部楼层
回复【8楼】冰尘牧之:
---------------------------------
谢谢!
回复 支持 反对

使用道具 举报

头像被屏蔽

6168

主题

7036

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
19705
金钱
19705
注册时间
2012-12-27
在线时间
25 小时
发表于 2013-7-21 17:42:03 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

7

主题

74

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2011-9-3
在线时间
4 小时
发表于 2013-7-23 13:34:12 | 显示全部楼层
不错,之前我也这样用过。
http://shop60782849.taobao.com/显示屏专卖
回复 支持 反对

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2013-7-18
在线时间
0 小时
发表于 2013-7-23 21:03:46 | 显示全部楼层
楼主的代码真心写的很漂亮 还请问楼主 那个图片文件中是如何生成的  在Pctolcd2002中选项中如何设置:包括字宽还有字摸选项是怎么设置的!!!  试了好多次都失败了 不懂设置啊!!!求救!


回复 支持 反对

使用道具 举报

5

主题

107

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2013-5-5
在线时间
0 小时
 楼主| 发表于 2013-7-25 19:13:43 | 显示全部楼层
回复【13楼】freeben09:
---------------------------------
我用的其他软件,不好意思,现在在家,回去给你
游走在生活里,你我都是涉世未深的旅人,前方有我们为之心怡的归宿,身后又是一片葱郁的往昔,让生活的零碎随风而来,又似过往的随风云烟而散,唯有这厮,方能守得云开,待到春花烂漫!
回复 支持 反对

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2013-7-18
在线时间
0 小时
发表于 2013-7-26 10:25:04 | 显示全部楼层
回复【14楼】冰尘牧之:
---------------------------------
好的 谢谢哈
回复 支持 反对

使用道具 举报

2

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
142
金钱
142
注册时间
2013-5-24
在线时间
9 小时
发表于 2013-7-26 10:57:15 | 显示全部楼层
回复【14楼】冰尘牧之:
---------------------------------
楼主大神我也想要呀,上传上传跪求上传。好东西大家分享嘛,O(∩_∩)O哈哈~
回复 支持 反对

使用道具 举报

2

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2013-7-17
在线时间
0 小时
发表于 2013-8-20 10:40:37 | 显示全部楼层
楼主能否留一个QQ?有点问题想请教你
回复 支持 反对

使用道具 举报

5

主题

107

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2013-5-5
在线时间
0 小时
 楼主| 发表于 2013-8-20 11:07:56 | 显示全部楼层
回复【17楼】zqdhls:
---------------------------------
1530481110
游走在生活里,你我都是涉世未深的旅人,前方有我们为之心怡的归宿,身后又是一片葱郁的往昔,让生活的零碎随风而来,又似过往的随风云烟而散,唯有这厮,方能守得云开,待到春花烂漫!
回复 支持 反对

使用道具 举报

5

主题

107

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2013-5-5
在线时间
0 小时
 楼主| 发表于 2013-8-20 11:35:22 | 显示全部楼层
回复【13楼】freeben09:
---------------------------------
回来了,郁闷,怎么就上传不了,加我QQ我给你 1530481110
游走在生活里,你我都是涉世未深的旅人,前方有我们为之心怡的归宿,身后又是一片葱郁的往昔,让生活的零碎随风而来,又似过往的随风云烟而散,唯有这厮,方能守得云开,待到春花烂漫!
回复 支持 反对

使用道具 举报

5

主题

107

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2013-5-5
在线时间
0 小时
 楼主| 发表于 2013-8-20 11:36:07 | 显示全部楼层
回复【16楼】dll_epdc:
---------------------------------
回复【19楼】冰尘牧之:
回复【13楼】freeben09: --------------------------------- 回来了,郁闷,怎么就上传不了,加我QQ我给你 1530481110
---------------------------------
游走在生活里,你我都是涉世未深的旅人,前方有我们为之心怡的归宿,身后又是一片葱郁的往昔,让生活的零碎随风而来,又似过往的随风云烟而散,唯有这厮,方能守得云开,待到春花烂漫!
回复 支持 反对

使用道具 举报

46

主题

333

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
357
金钱
357
注册时间
2013-12-12
在线时间
63 小时
发表于 2014-2-10 00:23:32 | 显示全部楼层
回复【20楼】冰尘牧之:
---------------------------------
你好,请看一下程序
u8 Receive_Byte(void)
{
   u8 i,temp1,temp2,value;
   temp1=0;
   temp2=0;
   for(i=0;i<8;i++)
      {
    temp1=temp1<<1;
    SCLK_L;
 SCLK_H;
    SCLK_L;
 if(PAout(7)==1)
   {
     temp1++;
}
  }
   for(i=0;i<8;i++)
      {
    temp2=temp2<<1;
    SCLK_L;
 SCLK_H;
    SCLK_L;
 if(PAout(7)==1)
   {
      temp2++;
   }
  }
      temp1=0xf0&temp1;
  temp2=0x0f&temp2;
  value=temp1+temp2;
       return   value ;
}
不明白大神为何要有PAout(7),难道不是SID么?小弟愚钝~
画点的程序是你自己写的么?
还有就是你写的两个清屏函数void Draw_Clear(void) LCD_Clear_BMP,不知道这两个效果一样么?
回复 支持 反对

使用道具 举报

20

主题

158

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
334
金钱
334
注册时间
2012-8-21
在线时间
27 小时
发表于 2014-2-10 10:03:05 | 显示全部楼层
看楼主的主函数风格,应该还是个学生吧,
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2014-1-13
在线时间
0 小时
发表于 2014-2-11 20:02:36 | 显示全部楼层
顶楼主....................................
回复 支持 反对

使用道具 举报

头像被屏蔽

38

主题

382

帖子

0

精华

高级会员

Rank: 4

积分
596
金钱
596
注册时间
2012-12-5
在线时间
19 小时
发表于 2014-2-11 21:38:15 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

38

主题

382

帖子

0

精华

高级会员

Rank: 4

积分
596
金钱
596
注册时间
2012-12-5
在线时间
19 小时
发表于 2014-2-11 22:00:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

5

主题

107

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2013-5-5
在线时间
0 小时
 楼主| 发表于 2014-2-27 19:39:30 | 显示全部楼层
回复【24楼】toddchen:
---------------------------------
受教了!
游走在生活里,你我都是涉世未深的旅人,前方有我们为之心怡的归宿,身后又是一片葱郁的往昔,让生活的零碎随风而来,又似过往的随风云烟而散,唯有这厮,方能守得云开,待到春花烂漫!
回复 支持 反对

使用道具 举报

56

主题

1237

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2643
金钱
2643
注册时间
2014-2-13
在线时间
518 小时
发表于 2014-3-9 23:47:57 | 显示全部楼层
厉害
回复 支持 反对

使用道具 举报

29

主题

311

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1530
金钱
1530
注册时间
2012-9-4
在线时间
262 小时
发表于 2014-7-21 12:02:11 | 显示全部楼层
楼主牛啊....值得学习.....
STM32---STM32---STM32---STM32---STM32---STM32---STM32---STM32---STM32
回复 支持 反对

使用道具 举报

39

主题

597

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
2115
金钱
2115
注册时间
2011-9-3
在线时间
121 小时
发表于 2014-9-12 10:46:31 | 显示全部楼层
LZ,你的u8 Receive_Byte(void);函数写错了吧?
回复 支持 反对

使用道具 举报

39

主题

597

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
2115
金钱
2115
注册时间
2011-9-3
在线时间
121 小时
发表于 2014-9-12 15:05:07 | 显示全部楼层
正确应该为:

u8 Receive_Byte(void) 

   u8 i,temp1,temp2,value; 
   temp1=0; 
   temp2=0; 
这里先把PB9设置为上拉输入
   for(i=0;i<8;i++) 
      { 
    temp1=temp1<<1; 
    SCLK_L; 
 SCLK_H; 
    SCLK_L; 
 if(PBin(9)==1) 
     temp1++; 
 temp1<<=1;
  } 
   for(i=0;i<8;i++) 
      { 
    temp2=temp2<<1; 
    SCLK_L; 
 SCLK_H; 
    SCLK_L; 
 if(PBin(9)==1) 
      temp2++; 
 temp2<<=1;
  } 
      temp1=0xf0&temp1; 
  temp2=0x0f&temp2; 
  value=temp1+temp2; 
这里恢复PB9输出
       return   value ; 
}
回复 支持 反对

使用道具 举报

39

主题

597

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
2115
金钱
2115
注册时间
2011-9-3
在线时间
121 小时
发表于 2014-9-12 15:07:46 | 显示全部楼层
看走眼了一点,看少了你两个移位了。修正为:
u8 Receive_Byte(void)  
{  
   u8 i,temp1,temp2,value;  
   temp1=0;  
   temp2=0;  
这里先把PB9设置为上拉输入 
   for(i=0;i<8;i++)  
      {  
    temp1=temp1<<1;  
    SCLK_L;  
 SCLK_H;  
    SCLK_L;  
 if(PBin(9)==1)  
     temp1++;  
  }  
   for(i=0;i<8;i++)  
      {  
    temp2=temp2<<1;  
    SCLK_L;  
 SCLK_H;  
    SCLK_L;  
 if(PBin(9)==1)  
      temp2++;  
  }  
      temp1=0xf0&temp1;  
  temp2=0x0f&temp2;  
  value=temp1+temp2;  
这里恢复PB9输出 
       return   value ;  
}
回复 支持 反对

使用道具 举报

39

主题

597

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
2115
金钱
2115
注册时间
2011-9-3
在线时间
121 小时
发表于 2014-9-12 16:20:51 | 显示全部楼层
另外,貌似串行传输模式是不能读数据的,请高人来解答!
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2015-3-10 10:22:45 | 显示全部楼层
mark//
回复 支持 反对

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2015-3-28
在线时间
0 小时
发表于 2015-8-5 14:54:43 | 显示全部楼层
楼主。你是用哪款取模软件?
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2016-3-24
在线时间
15 小时
发表于 2016-4-2 13:49:11 | 显示全部楼层
能解决问题的人!
回复 支持 反对

使用道具 举报

7

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
165
金钱
165
注册时间
2016-3-1
在线时间
42 小时
发表于 2016-4-6 19:51:55 | 显示全部楼层
留个名,楼主牛
回复 支持 反对

使用道具 举报

4

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
金钱
304
注册时间
2015-11-14
在线时间
42 小时
发表于 2016-5-9 19:13:37 | 显示全部楼层
感谢分享。
回复 支持 反对

使用道具 举报

0

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2015-3-30
在线时间
17 小时
发表于 2016-6-7 11:13:54 | 显示全部楼层
好贴,谢谢。我借用了您的12864程序。再次感谢。
回复 支持 反对

使用道具 举报

2

主题

90

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1107
金钱
1107
注册时间
2014-8-9
在线时间
192 小时
发表于 2016-6-7 12:23:39 | 显示全部楼层
学习中,谢谢楼主分享!
回复 支持 反对

使用道具 举报

4

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
470
金钱
470
注册时间
2015-10-29
在线时间
41 小时
发表于 2016-6-26 07:14:24 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

2

主题

21

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
212
金钱
212
注册时间
2016-6-11
在线时间
42 小时
发表于 2016-6-26 08:34:07 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 18:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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