This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
您好!
我正在通过 SCIB 接收 GPS 数据、我想通过 SCIA 发送该数据。 我已经基于示例项目"Example_2806xSci_Echoback.c"。
当我仅使用 SCIB (我使用引脚77 scibtx 和75 scibrx)接收 GPS 数据时、代码工作正常、它读取数据、然后对其进行处理以提取我感兴趣的信息(纬度、经度、速度和另一个参数)。 然后、我将 SCIA (引脚3 sciarx 和4 sciatx)连接到外部显示屏、这看起来也很正常、我已经测试了这种连接、对代码的 SCIB 部分进行了注释、屏幕从 SCIA 接收到了正确的数据。
但是、当我尝试在同一代码中同时使用 scia 和 scib 时、scib 似乎无法正确接收 GPS 数据。 我认为我可能会遇到时序问题、因为我创建了其他可能需要很长时间才能完成的函数、因此 scib 没有足够的时间来接收所有数据、但我对此非常不熟悉、因此我可能错过了重要的部分。
此外、我还想问使用中断是否更难实现我的目标、我从未使用过中断、因此我不熟悉中断的工作方式...
这是带有注释的主循环代码。 有些函数具有 wierd 名称、因为我用我的语言加泰罗尼亚语将它们命名为:
for (;;)
{
scia_msg ("velocitat_val=");
scia_msg (vel); // vel 是包含显示信息的字符数组
scia_xmit (255);
scia_xmit (255);
scia_xmit (255);
}
while (ScibRegs.SCIFFRX.bit.RXFFST){ //同时有 GPS 发送的和 scib 接收的第
ReceivedChar = ScibRegs.SCIRXBUF.ALL;
missatge[index]= ReceivedChar; //这将创建从 GPS 接收的字节的字符数组,该数组发送 以 '$'开头的句子,然后发送信息。
索引++;
如果('$'=ReceivedChar){
索引= 0;
analitza_paraula (); //此函数分析从 GPS 接收到的数组"missatge",以提取信息并更新变量"latutitude"、"longitude"、speed 等。
}
}
}
我只发布了主循环、如果我注释掉第一行、从 scia_msg ("velocitat_val=");到最后一个 scia_xmit (255); 代码正常工作并从 GPS 中提取正确的信息、但如果我添加代码 SCIB 的前5行似乎无法读取数据、则永远不会输入 if ('$'=ReceivedChar){}条件、while (ScibRegs...) 环路。
是否有人知道原因是什么?
非常感谢大家的关注、我现在真的很坚持
如有必要、我可以发布整个代码、但我认为主要部分是主循环
更新我确实通过 scib 接收数据、但是当 scib 与 scia 一起使用时、接收到的 NMEA 语句似乎跳过了一些字节。
然后、我添加了一个类似如下的计数器、从而添加了一种"延迟":
int 计数器= 0;
for (;;)
{
IF (计数器>= 900000)
{
//发送 scia 数据的函数
计数器= 0;
}
COUNTER++;
}
这种情况每半秒发送一次或更少的数据、scib 读取数据就很好!
但是、这不是正确的实现方式、这是如何实现的? 我可以使用中断吗? 我尝试从 F2806x_CpuTimers 示例导入代码、但遇到错误、我对这些计时器的工作方式没有信心。
任何建议都将非常有帮助、非常感谢
Joan、
由于您现在可以使用它、因此您确实可以使用延迟来纠正这一轻微的计时问题。 (但是、您可能需要进行双精度检查并确保波特率匹配)。 您可能已经知道、C2000Ware 还具有一个带有中断的环回示例:
C:\ti\c2000\C2000Ware_ \device_support\f2806x\examples\c28\scia_loopback _interrupts\
使用中断应该会有所帮助。 如果您想更熟悉中断、请参阅 F2806x 多日技术讲座、网址为:
请参阅模块4和实验5练习(第二部分)。 由于实验课程使用实验套件、因此我随附了一份文档、以帮助转换使用 LaunchPad 的方向。
但愿这对您有所帮助。 如果您的问题得到了解答、请单击绿色的"验证答案"按钮。 谢谢。
- Ken
e2e.ti.com/.../8540.F28069_2D00_MDW_2D00_LP_5F00_Supplement.pdf