c51中 printf怎用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c51中 printf怎用相关的知识,希望对你有一定的参考价值。

是这样的,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之前应该关闭串口中断使能
参考技术A 一个是输出函数 一个是输入函数
参考技术B 通过lcd,led,还是点阵显示?追问

谢谢您的回答,是led数码管显示的

参考技术C 与微机上一样,只不过事先要初始化串口
keil中有例子

ubuntu怎用使用命令搜索软件源中的软件


转自:http://jingyan.baidu.com/article/6d704a13f6bf1b28da51ca69.html

 

    1. ubuntu中是用apt-get来进行软件安装的,我们首先打开终端来查看一下apt-get的常用命令

      输入:

      sudo apt-get

      可以看到很多命令,而其中好像并没有什么查找软件包的命令

       
       
    2.  这样假如不知道软件包的详细名字岂不是无法安装了?在怀疑的态度下,去网上搜索了一番,发现查询命令原来是另一个:apt-cache,既然指定命令了,接下来和上面一样,打开终端输入命令:

      sudo apt-cache

      即可看到很多关于改命令的用法,仔细看图是不是找到search了?

    3.  那么接下来实验一下,比如说我们要安装skype,就用在缓存中搜索一下skype这个软件

      命令:

      sudo apt-cache search skype

      我们可以看到很多包含skype单词的软件,仔细看一下英文说明不难找到,安装skype就直接输入这个单词即可

    4.  同时也可以用来查看软件的详细信息,即用show命令,比如查看skype的信息,输入命令:

      sudo apt-cache show skype

      可以看到包名,版本号,安装大小,依赖关系等内容

    5. 需要注意的是,官方源里的skype好像有损坏,如果安装出错可以参考本人的另一篇经验查看安装方法。

以上是关于c51中 printf怎用的主要内容,如果未能解决你的问题,请参考以下文章

Keil C51重定向printf到串口

printf函数在Keil 开发C51单片机当中的使用细节

单片机C8051在Keil C51环境下使用printf函数打印,发现打印值和实际不对应

51单片机Keil C51下使用printf输出到串口,为何初始化了串口之后就可以使用了?

迪文屏幕T5L平台学习笔记四:C51使用printf或者sprintf注意事项

迪文屏幕T5L平台学习笔记四:C51使用printf或者sprintf注意事项