在ccs v6.2下导入“ti\controlSUITE\device_support\f2802x\v230\f2802x_examples_drivers”下“scia_loopback_interrupts”&scia_loopback,这两个例程
在c2000 launchpad下,flash下调试串口接收正常,断开在线调试,重新插拔USB线后,串口却接收不到数据
更改部分如下:
__interrupt void sciaTxFifoIsr(void)
{
uint16_t i;
for(i=0; i< 2; i++)
{
// Send data
sdataA[i] = rdataA[i];
SCI_putDataBlocking(mySci, sdataA[i]);
}
/*
for(i=0; i< 2; i++)
{
//Increment send data for next cycle
sdataA[i] = (sdataA[i]+1) & 0x00FF;
}
*/
// Clear SCI Interrupt flag
SCI_clearTxFifoInt(mySci);
// Issue PIE ACK
PIE_clearInt(myPie, PIE_GroupNumber_9);
return;
}
__interrupt void sciaRxFifoIsr(void)
{
uint16_t i;
if(SCI_getRxFifoStatus(mySci) != SCI_FifoLevel_Empty)
{
for(i=0;i<2;i++)
{
// Read data
rdataA[i] = SCI_getData(mySci);
}
/*
for(i=0;i<2;i++)
{
// Check received data
if(rdataA[i] != ( (rdata_pointA+i) & 0x00FF) )
error();
}
rdata_pointA = (rdata_pointA+1) & 0x00FF;
*/
}
// Clear Overflow flag
SCI_clearRxFifoOvf(mySci);
// Clear Interrupt flag
SCI_clearRxFifoInt(mySci);
// Issue PIE ack
PIE_clearInt(myPie, PIE_GroupNumber_9);
return;
}
不使用中断,主函数下查询串口接收方式,断电后串口也接收不到数据,请问需要更改哪个地方?
一开始参考driver下例程编写的串口程序,断电后串口接受不打,后来就测试了下官网下载的2个例程,也是同样情况
mangui zhang:
这种类似问题以前遇到过 其实仿真器调试时 程序在RAM中跑的
上电如果串口收不到数据 建议你复位一下看看
确保你的硬件电路能够上电自复位
在ccs v6.2下导入“ti\controlSUITE\device_support\f2802x\v230\f2802x_examples_drivers”下“scia_loopback_interrupts”&scia_loopback,这两个例程
在c2000 launchpad下,flash下调试串口接收正常,断开在线调试,重新插拔USB线后,串口却接收不到数据
更改部分如下:
__interrupt void sciaTxFifoIsr(void)
{
uint16_t i;
for(i=0; i< 2; i++)
{
// Send data
sdataA[i] = rdataA[i];
SCI_putDataBlocking(mySci, sdataA[i]);
}
/*
for(i=0; i< 2; i++)
{
//Increment send data for next cycle
sdataA[i] = (sdataA[i]+1) & 0x00FF;
}
*/
// Clear SCI Interrupt flag
SCI_clearTxFifoInt(mySci);
// Issue PIE ACK
PIE_clearInt(myPie, PIE_GroupNumber_9);
return;
}
__interrupt void sciaRxFifoIsr(void)
{
uint16_t i;
if(SCI_getRxFifoStatus(mySci) != SCI_FifoLevel_Empty)
{
for(i=0;i<2;i++)
{
// Read data
rdataA[i] = SCI_getData(mySci);
}
/*
for(i=0;i<2;i++)
{
// Check received data
if(rdataA[i] != ( (rdata_pointA+i) & 0x00FF) )
error();
}
rdata_pointA = (rdata_pointA+1) & 0x00FF;
*/
}
// Clear Overflow flag
SCI_clearRxFifoOvf(mySci);
// Clear Interrupt flag
SCI_clearRxFifoInt(mySci);
// Issue PIE ack
PIE_clearInt(myPie, PIE_GroupNumber_9);
return;
}
不使用中断,主函数下查询串口接收方式,断电后串口也接收不到数据,请问需要更改哪个地方?
一开始参考driver下例程编写的串口程序,断电后串口接受不打,后来就测试了下官网下载的2个例程,也是同样情况
Seven Han:
回复 shoupeng wang:
楼上说的对,这两个例程使用的cmd文件是ram的,仅用于调试,掉电不保存,且scia_loopback是自发自收,外部不需要接串口线;
基于您的描述,需要使用flash的cmd文件。