30F4013谁能给写个MC30的串口通讯原代码供参考
#include <p30F4013.h>// 配置位
_FOSC(CSW_FSCM_OFF & XT_PLL4); //XT 为4xPLL 振荡器, 失效保险时钟关闭
_FWDT(WDT_OFF); //禁止看门狗定时器
_FBORPOR(PBOR_OFF & MCLR_EN); //禁止掉电复位,使能MCLR复位
_FGS(CODE_PROT_OFF); //禁止代码保护
#define BAUDRATE 9600 //所需的波特率
#define FCY4000000 // XTAL = 4.000Mhz; 4 x PLL
unsigned char RxValue;
void InitUART1(void);
//UART1 TX中断服务程序
void __attribute__((__interrupt__)) _U1TXInterrupt(void)
{
IFS0bits.U1TXIF = 0; //清中断标志位
}
//UART1 RX中断服务程序
void __attribute__((__interrupt__)) _U1RXInterrupt(void)
{
IFS0bits.U1RXIF = 0; //清中断标志位
RxValue = (char)U1RXREG; //从接收寄存器读值
U1TXREG=RxValue; //发送接收到的数据
}
//主程序
int main(void)
{
InitUART1();
while(1);
return 0;
}
//初始化UART1
void InitUART1(void)
{
U1MODE=0x8060;
U1STA=0x8400;
U1BRG=((FCY/16)/BAUDRATE)-1;
}
页:
[1]