新手上路
- 积分
- 36
- 金钱
- 36
- 注册时间
- 2018-3-28
- 在线时间
- 11 小时
|
7金钱
我是通过蓝牙模块踩操作的。蓝牙模块是串口的接口。
单纯的收发是可以接收完整数据的。比如说手机发“123”,片子可以接收到“123”,并且可以发送回手机“123”;
如果加上while(1)下面的OLED显示,就只能接收第一个字符。比如手机发“123”,片子只接收“1”,并且只发送回手机“1”,OLED之显示1;
void USART1_IRQHandler(void)
{
if(USART_GetITStatus(USART1,USART_IT_RXNE))//判断函数类型是否是接收中断,第二个入口函数是中断类型为接收中断
{
uint16_t res;
res=USART_ReceiveData(USART1);
USART_SendData(USART1,res);
ch[0]=res;
DelayInit();
I2C_Configuration();
OLED_Init();
while(1)
{
OLED_Fill(0xFF);//全屏点亮
DelayS(2);
OLED_Fill(0x00);//全屏灭
DelayS(2);
DelayS(2);
OLED_ShowStr(0,3,ch,1);//测试6*8字符
DelayS(2);
OLED_CLS();//清屏
OLED_OFF();//测试OLED休眠
DelayS(2);
OLED_ON();//测试OLED休眠后唤醒
DelayS(2);
}
}
}
|
|