完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
//Q:只验证接收,并没有解析,但是却是收不到正确的数据帧。(GPS数据是以$GP开头的数据帧)如图所示:感觉//数据接收存在问题, Buf=(ScibRegs.SCIRXBUF.all) & 0x00FF;
//采用的是中断方式。 //拜托有懂的大神帮忙看看,本人小白一只,不胜感激。 #include "DSP28x_Project.h" // Device Headerfile and Examples Include File #define CPU_FREQ 150E6 #define LSPCLK_FREQ CPU_FREQ/4 #define SCI_FREQ 100E3 #define SCI_PRD (LSPCLK_FREQ/(SCI_FREQ*8))-1 interrupt void scibRxFifoIsr(void); void scib_fifo_init(void); void error(void); int ScibRX_Ready(void); char Buf[100]; unsigned int i; unsigned int flag; void main(void) { InitSysCtrl(); InitSciGpio(); DINT; InitPieCtrl(); IER = 0x0000; IFR = 0x0000; InitPieVectTable(); EALLOW; // This is needed to write to EALLOW protected registers PieVectTable.SCIRXINTB = &scibRxFifoIsr; EDIS; // This is needed to disable write to EALLOW protected registers scib_fifo_init(); // Init SCI-B PieCtrlRegs.PIECTRL.bit.ENPIE = 1; // Enable the PIE block PieCtrlRegs.PIEIER9.bit.INTx1=1; // PIE Group 9, int1 PieCtrlRegs.PIEIER9.bit.INTx2=1; // PIE Group 9, INT2 PieCtrlRegs.PIEIER9.bit.INTx3=1; // PIE Group 9, INT3 PieCtrlRegs.PIEIER9.bit.INTx4=1; // PIE Group 9, INT4 IER = 0x100; // Enable CPU INT EINT; for(;;); } void error(void) { asm(" ESTOP0"); // Test failed!! Stop! for (;;); } interrupt void scibRxFifoIsr(void) { for(i=0;i<100;i++) { Buf=(ScibRegs.SCIRXBUF.all) & 0x00FF; } ScibRegs.SCIFFRX.bit.RXFFOVRCLR=1; // Clear Overflow flag ScibRegs.SCIFFRX.bit.RXFFINTCLR=1; // Clear Interrupt flag PieCtrlRegs.PIEACK.all|=0x100; // Issue PIE ack } void scib_fifo_init() { ScibRegs.SCICCR.all =0x0007; // 1 stop bit, No loopback // No parity,8 char bits, // async mode, idle-line protocol ScibRegs.SCICTL1.all =0x0003; // enable TX, RX, internal SCICLK, // Disable RX ERR, SLEEP, TXWAKE ScibRegs.SCICTL2.bit.TXINTENA =1; ScibRegs.SCICTL2.bit.RXBKINTENA =1; ScibRegs.SCIHBAUD =0x01; ScibRegs.SCILBAUD =0xE7; ScibRegs.SCICCR.bit.LOOPBKENA =0; // Enable loop back ScibRegs.SCIFFTX.all=0xC023; ScibRegs.SCIFFRX.all=0x0028; ScibRegs.SCIFFCT.all=0x00; ScibRegs.SCICTL1.all =0x0023; // Relinquish SCI from Reset ScibRegs.SCIFFTX.bit.TXFIFOXRESET=1; ScibRegs.SCIFFRX.bit.RXFIFORESET=1; } //=========================================================================== // No more. //=========================================================================== |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
TMS320C6748 板卡设计中是否一定需要有SDRAM或者DDR
1958 浏览 0 评论
988 浏览 0 评论
3654 浏览 1 评论
【六岳微LY-F335开发板试用体验】epwm启动ADC并在OLED上显示结果
4493 浏览 0 评论
【六岳微LY-F335开发板试用体验】软件开发环境及调试下载
4541 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 07:07 , Processed in 0.633008 second(s), Total 73, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
7982