PIC16F690上的Uart和蓝牙问题

Posted

技术标签:

【中文标题】PIC16F690上的Uart和蓝牙问题【英文标题】:Uart on PIC16F690 and Bluetooth issue 【发布时间】:2013-11-25 03:22:15 【问题描述】:

我花了很多时间试图让 UART 与蓝牙模块一起工作。我正在使用 PICkit 2 编程器将代码烧录到PIC16F690。当我使用UART工具时,我可以正确发送和接收数据。我可以回显我正在输入的任何内容。当我将蓝牙模块连接到面包板时,我可以接收从 UART 工具输入到手机的数据。但是,从我的手机输入内容并不会回显。

这里是总结

    发送和接收在 PICkit 2 编程器提供的 UART 工具上工作

    我的手机可以接收来自 UART Tool 的数据。但是从我的手机-> 蓝牙-> PIC 传输不起作用。我有 BC417 蓝牙模块。可能是什么问题?

这是我的代码

void UARTx_Read_Text(char *Output, char *Delimiter, char Attempts);
void UARTx_Write_Text(char * UART_text);
char UART_Data_Ready();



void main ()
unsigned char receive;

// Set all pins as digital
ANSEL = 0x00 ;
ANSELH = 0x00 ;

// Disable comparators
C1ON_bit = 0   ;
C2ON_bit = 0  ;

UART1_Init(9600); // initialize UART1 module
Delay_ms(5000);   // delay



UART1_Write_Text("TEST");
while (1) 

  if (UART1_Data_Ready())
  
     receive = UART1_Read();
     UART1_Write(receive);

  



提前致谢!

【问题讨论】:

“可能是什么问题?”什么,没有足够的信息。您能否验证蓝牙模块是否有串行数据输出?您是否在其他 UART 设备上尝试过相同的代码?在给定特定于 MCU 和时钟的预分频器设置的情况下,您是否已验证您的 UART 可以处理选定的波特率?您是否收到任何错误,例如缓冲区溢出或帧错误?什么是 UART 信号设置,任何握手? 【参考方案1】:

“来自我的手机 -> 蓝牙 -> PIC 不起作用”

所以没有任何错误的细节,

我建议您不要重新传输字节(由于延迟),而只是计算它们并定期传输总数,看看是否会产生不同的症状。

【讨论】:

以上是关于PIC16F690上的Uart和蓝牙问题的主要内容,如果未能解决你的问题,请参考以下文章

通过 PIC16 UART 发送转换后的 DS1820 温度

UART蓝牙通信问题 向UART发送数据的正确格式是啥(整数值)

与 Nrf UART 的蓝牙配对无法正常工作

与 Pic 16F913 通信

使用 hciattach 通过 uart 进行蓝牙?

物联网操作系统Zephyr(蓝牙篇)之6.0 zephyr os中的bt stack概述