完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我的想法是通过FIFO接收中断,来触发发送中断,将从PC接收到得数据,再发送到PC。
不知道为什么总是触发不了SCI的发送中断,也接收到的不到数据。 #include "DSP28x_Project.h" #include "string.h" interrupt void scibTxFifoIsr(void); interrupt void scibRxFifoIsr(void); void scib_fifo_init(void); char rdataB[8]; void main(void) [ Uint16 i; InitSysCtrl(); InitSciGpio(); DINT; InitPieCtrl(); IER = 0x0000; IFR = 0x0000; InitPieVectTable(); EALLOW; PieVectTable.SCIRXINTB = &scibRxFifoIsr; PieVectTable.SCITXINTB = &scibTxFifoIsr; EDIS; scib_fifo_init(); for(i = 0; i<8; i++) [ rdataB =0; ] PieCtrlRegs.PIECTRL.bit.ENPIE = 1; PieCtrlRegs.PIEIER9.bit.INTx3=1; PieCtrlRegs.PIEIER9.bit.INTx4=1; IER = 0x100; EINT; for(;;); ] interrupt void scibTxFifoIsr(void) [ Uint16 i; for(i=0; i< 8; i++) [ ScibRegs.SCITXBUF=rdataB; ] //ScibRegs.SCIFFTX.bit.TXFFINTCLR=1; PieCtrlRegs.PIEACK.all|=0x100; ] 当我将上面的TXFFINTCLR置1的时候,就会不停的发送0,不发送rdataB数组中的内容。下面的接收中断的中断级位设为8,我的想法是PC发送一个hellodsp,触发接收中断,在接收中断服务子程序中通过strncmp函数比对,通过TXFFINTCLR置1,使发送相应中断。然后在发送中断中在发送radaB数组,即在PC串口软件端显示hellodsp。 可不知道为什么总是进步了接收中断,rdataB数组里面也没有值.....求高工解答! interrupt void scibRxFifoIsr(void) [ Uint16 i; for(i=0;i<8;i++) [ //while(ScibRegs.SCIFFRX.bit.RXFFST!=1)[] rdataB=ScibRegs.SCIRXBUF.all; ] if(strncmp(rdataB,"hellodsp",8)==0) [ //ScibRegs.SCIFFTX.bit.TXFIFOXRESET=1; ScibRegs.SCIFFTX.bit.TXFFINTCLR=1; ] //ScibRegs.SCIFFTX.bit.TXFFINTCLR=1; //ScibRegs.SCIFFRX.bit.RXFIFORESET=0; //ScibRegs.SCIFFRX.bit.RXFIFORESET=1; ScibRegs.SCIFFRX.bit.RXFFOVRCLR=1; ScibRegs.SCIFFRX.bit.RXFFINTCLR=1; PieCtrlRegs.PIEACK.all|=0x100; ] void scib_fifo_init() [ ScibRegs.SCICCR.all =0x0007; ScibRegs.SCICTL1.all =0x0003; ScibRegs.SCICTL2.bit.TXINTENA =1; ScibRegs.SCICTL2.bit.RXBKINTENA =1; ScibRegs.SCIHBAUD =0x0001; ScibRegs.SCILBAUD =0x00E7; ScibRegs.SCICCR.bit.LOOPBKENA =0; ScibRegs.SCIFFTX.all=0xC028; ScibRegs.SCIFFRX.all=0x0028; ScibRegs.SCIFFCT.all=0x00; ScibRegs.SCICTL1.all =0x0023; ScibRegs.SCIFFTX.bit.TXFIFOXRESET=1; ScibRegs.SCIFFRX.bit.RXFIFORESET=1; ] |
|
相关推荐
2 个讨论
|
|
只有小组成员才能发言,加入小组>>
2922个成员聚集在这个小组
加入小组543 浏览 1 评论
391 浏览 1 评论
589 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
840 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
690 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
146浏览 29评论
779浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
295浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
251浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
102浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-14 03:25 , Processed in 0.896594 second(s), Total 45, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号