PIC单片机printf()函数重定向

发布者:asa1670最新更新时间:2020-01-23 来源: eefocus关键字:PIC单片机  printf()函数  重定向 手机看文章 扫描二维码
随时随地手机看文章

基本信息:


系统:Windows10


编译器:MPLAB X IDE V3.26 + XC8 V1.45


单片机:PIC18F66K22


下载器:PICKit3



一、串口初始化


/*

函数名:void USART1_Init( void )

功能:使用的是串口1,串口初始化

*/

 

void USART1_Init( void )

 

{

    TRISC6 = 1;

    TRISC7 = 1;        // 输入模式,作复用功能

 

    TX91 = 0;            // 8位发送

    TXEN1 = 1;

    SYNC1 = 0;            // 异步模式

    BRGH1 = 1;

    RX91 = 0;

    CREN1 = 1;            

    

    SPEN1 = 1;            // 使能串口

    SPBRG1 = 207;        // 波特率9600

}

二、printf()函数重定向


printf函数可以完成两件事:它基于你指定的格式字符串和占位符格式化文本,并将改格式化文本发送(打印)到目标(或流)然后它会调用一个putch函数来发送格式化文本的每一个字节。


/*

函数名:void putch( char ch )

功能:重定向printf函数

*/

 

void putch( char ch )

{

    while( !TX1IF )

        continue;

    TXREG1 = ch;

}

                                                                                END


关键字:PIC单片机  printf()函数  重定向 引用地址:PIC单片机printf()函数重定向

上一篇:PIC单片机的指针
下一篇:PIC单片机会逐渐被国产单片机替代掉吗?

推荐阅读最新更新时间:2024-11-17 16:06

PIC单片机会逐渐被国产单片机替代掉吗?
不知道从什么时候开始,替代PIC这个词在国内单片机就成了热搜词。好多人开发小方案的时候都会想找PIC单片机开发,但又觉得成本太高消费不起。 这时候替代PIC这个词就出现在朋友们的眼前了。但说实话,国内能做到完全兼容替代PIC单片机的很少,大部分只能做到脚位或者功能部分替代,而做到完全兼容替代的目前国内只有麦肯和英锐恩这两家。 那为什么即使只能部分替代,很多人还是愿意用这些芯片做开发呢? 用过PIC单片机的人都知道,PIC单片机它采用的是哈佛结构,精简指令集,定长指令字,单周期指令,多功能I/O。平时用的4MHZ主频,速度比20MHZ的51还快。它的工业级(-40度 - 125度工作范围),主频高达20MHZ,28/40脚(
[单片机]
PIC单片机该怎么加密
见过很多初学者对PIC16系列单片机的ID码的读和写犯迷糊。说实话,这方面的资料也不怎么全。有些教材可能会涉及ID区域的介绍,可是往往是一代而过。这对初学者来说是比较容易犯错的地方。今天有空,对相关的问题作了一些整理,分享给大家。可能有些地方说的不够妥当,欢迎大家多多探讨。 1.什么是ID区域? ID区域是独立于EEPROM,FLASH,RAM的区域。程序设计人员可以利用该区域存放软件的版本号,编写日期,烧录日期,产品标识等信息。不过该区域很小PIC16系列只能存放4个字节。 2.ID码怎么烧录到ID区域里面去? 可以利用PICC自带的宏命令IDLOC(X)来实现。具体操作如下: ........
[单片机]
PIC单片机(PIC16F877A)串行收发程序
#include pic.h #define uchar unsigned char uchar rtemp,sflag; void SerialInit(void) { TXSTA=0x24; //开启发射使能位、高波特率,TRMT初始值可0可1 RCSTA=0x90; //开启串口、连续接收、 SPBRG=0x19; //4M晶振,波特率9600,则SPBRG初值为25 RCIE=1; //开启串口接收完成中断 GIE=1; //开全局中断 PEIE=1; //开第一外设中断 } void interrupt SerialService(void) //接收中
[单片机]
<font color='red'>PIC单片机</font>(PIC16F877A)串行收发程序
C语言中的可变参数函数的浅析(以Arm 程序中的printf()函数实现为例)
我们在C语言编程中会遇到一些参数个数可变的函数,一般人对它的实现不理解。例如Printf(): Printf()函数是C语言中非常常用的一个典型的变参数函数,它 的原型为: int printf( const char* format, ...); 它除了一个参数format固定外,后面的参数的个数和类型是不确定的,如下列三种调用方法: 1. printf(“%dn”, i); 2. printf(“%sn”, “Hello World”); 3. printf(“The result is %d, name is %s”, i, “Lily”); 使用可变参数时,需要用到的库函数:va_list 、va_s
[单片机]
PIC单片机常用指令介绍与指令功能分类表
  源程序的编写主要就是用这些基本的指令实现你的控制任务。但为了增加源程序的可读性和可维护性,我们引入了伪指令的概念。伪指令本身不会产生可执行的汇编指令,但它们可以帮组“管理”你编写的程序,其实用性和必要性绝不亚于 35 条正真的汇编指令。我们在此着重介绍最常用的几种伪指令。   PIC单片机最常用的几种指令介绍   #include 或 include   #include 伪指令的作用是把另外一个文件的内容全部包含复制到本伪指令所在的位置。被包含复制的文件可以是任何形式的文本文件,当然文件中的内容和语法结构必须是MPASM 能够识别的。最经常被“include”的是针对 PIC 单片机内部特殊功能寄存器定义的包 含 头
[单片机]
PIC单片机入门教程(三)—— 安装编译器(MPLAB XC Compilers)
1、下载编译器(MPLAB XC Compilers) XC8、XC16和XC32对应8位、16位和32位PIC单片机,按实际使用的单片机选择下载最新版本即可。 截至2018-06-10,编译器最新版情况:XC8——v1.45,XC16——v1.34,XC32——v2.10。 官网链接:http://www.microchip.com/mplab/compilers 本教程以PIC12F675单片机为例,选择下载XC8——v1.45 2、安装编译器 2.1 打开“xc8-v1.45-full-install-windows-installer.exe”- “Next” 2.2 “I accept th
[单片机]
<font color='red'>PIC单片机</font>入门教程(三)—— 安装编译器(MPLAB XC Compilers)
PIC单片机在ICD做lcd显示时钟演示程序
;************************************************* ;* CLKTEST.ASM * ;*-----------------------------------------------* ;*-----------------------------------------------* ;************************************************* ;* ICDDEMO教学实验板 lcd显示时钟演示程序 * ;************************************************* include p16f877.i
[单片机]
基于PIC单片机开发的高精度数据采集器
1 ADS1210引脚及功能   ADS1210是一种高精度、宽动态范围,采用单5V电源供电,具有24位分辨率的新型A/D转换器。封装形式有18脚双列直插式和18线贴片式,引脚功能描述如表1。   ●指令寄存器(INSR)   指令寄存器是一个8位寄存器,它指明了系统是进行读操作还是写操作,并确定读/写操作的字节长度以及读/写操作寄存器的起始地址。     ●命令寄存器(CMR)   命令寄存器是ADS1210的关键,它控制着ADS1210的所有特性功能。一旦串口时钟的下降沿将数据字节的最后一位写入命令寄存器,新的模式就开始生效。命令寄存器控制ADS1210所选用的选项和操作模式,包括可编程增益放大器的增
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved