X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
DSP 与 ARM 处理器
[求助] 开发板28335,lcd12864,带字库,怎么显示变量
lymgirl
2013-9-3 10:32
楼主
请求高手指点:
我的显示子程序是无符号字符型的,变量是无符号整形,强制转换后,报错:参数类型矛盾,,,,求解怎么用lcd显示变量,,,,万分感谢
void WriteCmd12864(Uint16 cmd)
{
// Uint16 i=5;
RS=LOW;
RW=LOW;
EN=HIGH;
LCD_DATA=cmd;
// while(i--);
EN=LOW;
}
void WriteData12864(Uint16 dat)
{ // Uint16 i=5;
RS=HIGH;
RW=LOW;
EN=HIGH;
LCD_DATA=dat;
// while(i--);
EN=LOW;
}
void DisplayCgrom(uchar *hz)//显示子程序
{
while(*hz != '\0')
{
WriteData12864(*hz);
hz++;
delay(2);
}
部分主程序:
fif=num*fs/N;
R=c*fif/(4*Ban)/fm;
R=R*10;
shi=R/10;
temp=uchar(shi);//加了强制类型转换后,调用显示程序依然报错???、
ge=R%10;
..........
WriteCmd12864(0x80);//往第一行写
delay(5);
DisplayCgrom(temp);//这一句无论怎么写都报错,类型问题
点赞
回复评论 (10)
沙发
zqjqq88
回复 楼主lymgirl 的帖子
强制转换是“(uchar)shi”,不是“uchar(shi)”;
DisplayCgrom(temp)!!! 你的意思是DisplayCgrom(&temp)吧!
点赞
2013-9-3 11:12
板凳
ltbytyn
void DisplayCgrom(uchar *hz)
//定义的形参是地址
temp=uchar(shi);
DisplayCgrom(temp);//传递的实参是数据。
所以错误是必然。
点赞
2013-9-3 11:18
4楼
安_然
大家都是从错误中成长的。
工程 = 数学+物理+经济
点赞
2013-9-3 11:35
5楼
lymgirl
嗯,灰常感谢一楼二楼,
指针我得好好看看了。程序不报错了,但是变量还是不显示,而文字显示正常。。。这不是这样子显示变量不对呢
extern uchar C[]={"目标距离"};
。。。。。
WriteCmd12864(0x88);
delay(5);
DisplayCgrom(C);
WriteCmd12864(0x98);
delay(5);
DisplayCgrom(&temp);
[
本帖最后由 lymgirl 于 2013-9-3 15:28 编辑
]
点赞
2013-9-3 15:20
6楼
ltbytyn
char ASCIITable[] = "0123456789";
DisplayCgrom(&ASCIITable[temp/100] ); //显示百位
DisplayCgrom(&ASCIITable[(temp/10)%10] ); //显示十位
DisplayCgrom(&ASCIITable[temp%10] ); //显示个位
点赞
2013-9-4 17:25
7楼
zqjqq88
回复 5楼lymgirl 的帖子
看ltbytyn版主的。。。。
点赞
2013-9-4 17:32
8楼
lymgirl
回复 6楼ltbytyn 的帖子
这样运行以后显示的就是0123456789,怎么改都不行,
先用了gcvt()这个函数,但CCS的stdlib.h中没有定义这个函数,自己声明了一下,还是说这个函数没有声明,不知道是不是我定义的有问题。
最后用sprint(s,"%.f",R),实现显示了
忘了即使回帖,
:
点赞
2013-9-7 11:46
9楼
ltbytyn
回复 8楼lymgirl 的帖子
没有仔细看你的函数,刚发现上面确实写错了。应该是下面这个样子。
WriteData12864(ASCIITable[temp/100] ); //显示百位
WriteData12864(ASCIITable[(temp/10)%10] ); //显示十位
WriteData12864(ASCIITable[temp%10] ); //显示个位
使用sprint(s,"%.f",R),还是很不错啊
点赞
2013-9-7 12:25
10楼
lymgirl
回复 9楼ltbytyn 的帖子
:rose: 谢谢
点赞
2013-9-8 20:44
11楼
骑猪去兜风
求解,我也遇到同样困难,我想用LCD1602显示秒表,怎么才能把变量在字库里面取字显示出来
点赞
2014-12-12 20:42
最新活动
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
TI 有奖直播 | 使用基于 Arm 的 AM6xA 处理器设计智能化楼宇
Follow me第二季第3期来啦!与得捷一起解锁高性能开发板【EK-RA6M5】超能力!
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
随便看看
你问我答《MCU工程师炼成记》免费拿
关于使用STM32F103定时器比较匹配问题
这个语句什么意思?"con ? DEV_CON : 0"
清理物品!各型MCU开发板优惠出售!
STM32F7 CubeMX 自动生成ADC自校准程序的问题
电感10t什么意思
ths3201失真什么原因??
国家IP核标准符合性评测与认证指南
英文系统下的FAT盘符建立中文文件的问题
问下路过的高手哈,DXP中编整合库,原理图和PCB怎么对上的
智能音箱都在用的TI德州仪器音频芯片应用大揭晓。
用于机顶盒设计的高性能模拟开关
MSP430 LaunchPad 1.3/1.4/1.5 合影
贴片元件封装说明
ART-Pi评测 应用RL-TCPnet实现以太网收发功能及DTU
DK-LM3S9B96开发板是什么操作系统
gooogleman大侠,求助!
仅仅只是简单的阻抗控制吗?用实际案例来解答!
嵌入式Linux系统开发模式
Altium Designer铺铜那件事儿(二)
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复