#include <p18f24k20.h>
static unsigned char array[11]={0,1,2,3,4,5,6,7,8,9};
void Uart_Init(void)
{
RCSTAbits.SPEN=1;//SPEN位置1,使能UART模块
TXSTAbits.TX9=0;//8位数据发送
TXSTAbits.SYNC=0;//异步模式
TXSTAbits.BRGH=1;//高速波特率模式
RCSTAbits.RX9=0;//8位数据接收
SPBRG=25; //4M晶振时,波特率9600
TRISCbits.TRISC6=0; //TRISC位6清零,TXD配置为I/O输出
TRISCbits.TRISC7=1; //TRISC位7置1,RXD配置为I/O输入
TXSTAbits.TXEN=1; //使能发送
RCSTAbits.CREN=1; ///使能连续接收
PIE1bits.RCIE=1;//接收中断使能
PIE1bits.TXIE=0;//发送中断禁止
INTCONbits.GIE=1;//开启总中断
INTCONbits.PEIE=1;//开启接收中断
}
void Uart_Send_Char(unsigned char tx_data)
{
TXREG = tx_data;
while(!TXSTAbits.TRMT);//发送移位寄存器发送标志位1-为空。
}
void Uart_Send_Array(unsigned char*at,unsigned char start,unsigned char length)
{
for(start;start<length;start++)
Uart_Send_Char(at[start]);
}
void main(void)
{
Uart_Init();
while(1)
{
Uart_Send_Char(0x42);
Uart_Send_Array(array,6,10);
}
}
以上是代码,朋友们帮助看一下 |