请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430FR2355 我正在尝试从我编写的 Android 应用中发送多个字符、以便与使用 MSP430FR2355的传感器板通信。
当我单击发送按钮时、Android 将作为字节数组发送字符串。
sendButton.setOnClickListener(new view.OnClickListener()
{
@覆盖
公用空 onClick (View v)
{
if (!EditText.getText()。toString().equals (""))
{
string data = EditText.getText()。toString();
if (usbService!=空)
{
//如果 UsbService 被正确绑定,则发送数据
usbService.write (data.GetBytes());
}
}
}
在 MSP430侧、我使用中断来指示消息何时传入。 当我接收到一个中断标志时、我立即用一个中断来暂停程序并检查 UCA1RXBUF 缓冲器。 唯一存在的字符是字符串的最后一个字符。
因此、如果我发送"Hello"、则中断只会看到"o"。
它是串行的、因此我想我每次接收一个字符。 因此、将为每个字符调用 ISR。 当接收到字符时、我只需将接收到的字符插入我自己的缓冲区字符数组中。 根据我的需求处理完整消息、依此类推。
我不能这样做、因为我只接收正在发送的字节数组的最后一个字符。
我处理这种情况的正确方法是将字符串转换为字节数组、然后使用 for 循环单独发送字节数组的每个字符? 或者是否有更好的选择? 有什么见解吗?