英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

 找回密码
 立即注册
搜索
电子烟方案单片机单片机开发深圳单片机开发
单片机方案国产单片机8位单片机电子烟方案开发
查看: 3313|回复: 0
打印 上一主题 下一主题

PIC24FJ64GA006串口测试程序

[复制链接]
跳转到指定楼层
1#
发表于 2009-3-13 14:24:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//实现的功能是通过串口,在波特率9600时,将从串口接收到的数据
//在发送出去.用的是UART1,关中断.调试时用的是PGD3,PGC3.
#include <p24fxxxx.h>
_CONFIG1(JTAGEN_OFF & GCP_OFF & GWRP_OFF & COE_OFF & FWDTEN_OFF & ICS_PGx3 & BKBUG_ON)
_CONFIG2(FCKSM_CSDCMD & OSCIOFNC_OFF & POSCMOD_HS & FNOSC_PRI & IOL1WAY_OFF & FNOSC_PRIPLL)
void main(void);
void UART1Init(void);
void UART1Init(void)
{asm volatile ( "MOV #OSCCON, w1 \n"
"MOV #0x46, w2 \n"
"MOV #0x57, w3 \n"
"MOV.b w2, [w1] \n"
"MOV.b w3, [w1] \n"
"BCLR OSCCON,#6");

RPINR18bits.U1RXR=7;
RPOR4bits.RP9R=3;
asm volatile ( "MOV #OSCCON, w1 \n"
"MOV #0x46, w2 \n"
"MOV #0x57, w3 \n"
"MOV.b w2, [w1] \n"
"MOV.b w3, [w1] \n"
"BSET OSCCON, #6" );



  U1MODEbits.RTSMD=1;       //UxRTS引脚处于单工模式
U1MODEbits.UEN=3;         //使能并使用UxTX 、UxRX 和BCLKx 引脚; UxCTS 引脚由端口锁存器控制
U1MODEbits.BRGH=0;        //BRG 在每个位周期内产生16 个时钟信号(16 倍频波特率时钟,标准模式)
U1MODEbits.PDSEL=0;       //8 位数据,无奇偶校验
U1MODEbits.STSEL=0;       //1 个停止位
  U1BRG=( (( (11059200/2)/9600)/16)-1 );   //波特率9600
  U1MODEbits.UARTEN=1;      //使能UARTx ;
INTCON1bits.NSTDIS=1;     //禁止中断嵌套
CORCONbits.IPL3=0;        //CPU 中断优先级小于等于7
IEC0bits.U1RXIE=0;        //UART2 接收器中断允许位
IPC2bits.U1RXIP=1;        //UART1 接收器中断优先级位


U1STAbits.UTXEN=1;        //使能发送, UARTx 控制UxTX 引脚。
}
void main(void)
{
UART1Init();
while(1)
{
while(IFS0bits.U1RXIF)
  {
   IFS0bits.U1RXIF = 0;
   U1TXREG=U1RXREG;
  }
}
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|公司首页|Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 ( 粤ICP备09008620号 )

GMT+8, 2024-5-26 22:02 , Processed in 0.049527 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表