c51中 printf怎用

 我来答
残与美
2011-09-29
知道答主
回答量:6
采纳率:0%
帮助的人:6.4万
展开全部
是这样的,keil的stdio.h提供了一堆函数,大致分两类,一类是通过串口在上位机上输入输出,另一类是指定一个指针变量,向其输入输出,这样便可以将得到的字符数组指针的内容输出到LCD一类设备上了,也可通过指针获得按键输入。
对于一类,你必须得软件初始化串口,硬件与电脑连接好,然后利用windows的超级终端就可以显示单片机中程序里的printf等函数打印出的内容了,你也可以使用getchar获得超级终端的按键码。(当然也可以使用串口助手之类软件代替超级终端,注意波特率,数据位,校验位,等设置要保持一致)
对于第二类,是不用初始化串口的,因为跟串口没任何关系,你只要用指针虚拟设备就可以了,输入输出都是你自己做的硬件。
附串口初始化程序:
#define T1_INIT_VALUE 0x0D //定时器1初始值设定 9600bps@11.0592MHz
void UartInit(void) {
SCON = 0x50; //8位数据,可变波特率
TMOD &= 0x0f; //清除定时器1模式位
TMOD |= 0x20; //设定定时器1为8位自动重装方式
TL1 = T1_INIT_VALUE; //设定定时初值
TH1 = T1_INIT_VALUE; //设定定时器重装值
ET1 = 0; //禁止定时器1中断
TR1 = 1; //启动定时器1
ES = 0; //禁止串行口中断
TI = 1; //必须置高TI,RI
RI = 1;
puts("Uart Initialize Success!");
// *.调用printf之前应该关闭串口中断使能
}
浙江启扬智能科技有限公司
2022-05-05 广告
选择arm开发板,可以参考一下几个点:1、确定一种CPU,去了解其核心架构,CPU资源有哪些,一些芯片厂商都会有说明的,可以去它们网站上看看;2、确定要使用什么操作系统,比如Linux啊,安卓这些等等;3、确定开发或者学习要用的哪些接口,比... 点击进入详情页
本回答由浙江启扬智能科技有限公司提供
佴岱
2011-09-22 · TA获得超过383个赞
知道小有建树答主
回答量:745
采纳率:100%
帮助的人:409万
展开全部
一个是输出函数 一个是输入函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
swlh2007
2011-09-21
知道答主
回答量:12
采纳率:0%
帮助的人:7.4万
展开全部
通过lcd,led,还是点阵显示?
追问
谢谢您的回答,是led数码管显示的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lcwang0635
2011-09-21 · TA获得超过111个赞
知道答主
回答量:49
采纳率:0%
帮助的人:42.9万
展开全部
与微机上一样,只不过事先要初始化串口
keil中有例子
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式