完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
//PC串口助手发送一个字节,单片机回传数据 #include "p24HJ128GP506.h" void Delay_xmS(unsigned int i) //延时程序 { unsigned int j; for(;i>0;i--) { Nop(); for(j=0;j<255;j++) { Nop(); ClrWdt(); } } } void UART2_Init(void) { U2MODEbits.STSEL = 0; // 1个停止位 U2MODEbits.PDSEL = 0; // N , 8, 1 U2MODEbits.ABAUD = 0; // 自动波特率禁止 U2MODEbits.RTSMD = 1; // 引脚处于单工模式 // U2MODE.BRGH=0; U2BRG=((5000000/16)/9600)-1; //设置波特率 U2STAbits.UTXISEL1 = 1; // 发送一个字符后中断 U2STAbits.UTXISEL0 = 0; U2STAbits.URXISEL1 = 0; // 接收一个字符后中断 U2STAbits.URXISEL0 = 0; IEC1bits.U2RXIE = 1; // 允许接收中断 IEC1bits.U2TXIE = 1; // 允许发送中断 U2MODEbits.UARTEN = 1; // 允许发送 U2STAbits.UTXEN = 1; // 使能串口2 } void __attribute__((__interrupt__,no_auto_psv))_U2RXInterrupt(void) { unsigned int tmp; tmp = U2RXREG; // 发送所接收到的数据 Delay_xmS(1); U2TXREG=tmp; IFS1bits.U2RXIF = 0; } void __attribute__((__interrupt__,no_auto_psv))_U2TXInterrupt(void) { IFS1bits.U2TXIF = 0; } int main(void) { AD1PCFGL = 0xffff; //所有引脚为数字I/O // TRISB = 0xFFFF; //设置B端口为输入 TRISG = 0; //设置G端口为输出 TRISD = 0x0000; //设置D端口为输出 TRISFbits.TRISF5 = 0; //配置 u2tx 方向为输出 TRISFbits.TRISF4 = 1; //配置 u2Rx 方向为输入 UART2_Init(); while(1); } 能不能帮忙看看这个程序 |
|
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
求解外围电路实现的是4脚给持续低电平复位并正常工作,高电平不工作的原因
2381 浏览 1 评论
4238 浏览 3 评论
PIC1946程序有一个变量在运行过程中恢复初始值其他变量保持不变
2617 浏览 2 评论
3113 浏览 0 评论
PIC16F1825的RC5引脚,在主程序中操作无效,在中断中可以改变是为什么?
4570 浏览 5 评论
有套STM32与西门子200程序需要代写,有兴趣的工程师与有联系!
2484浏览 1评论
用XC8编译PIC18F25K80时提示下面Error,求怎么解决这个问题
6796浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-12 13:10 , Processed in 0.475295 second(s), Total 39, Slave 30 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖