蓝牙技术学习
直播中

王晾其

7年用户 983经验值
私信 关注
[问答]

蓝牙串口通信收不到数据

程序如图,把开发板的RXD/TXD和PA9/PA10  断开RXD,TXD连接HC05D蓝牙的RXD/TXD,可是用手机串口助手收不到数据。求回复啊,谢谢!!

回帖(8)

赵晓敏

2019-5-9 09:12:36
再发下文字版的程序,另外我的串口接收中断程序关了,求原子哥指点
#include 
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "adc.h"  
int main(void)
{
float temp;    `
u8 volu;
Stm32_Clock_Init(9); //系统时钟设置
delay_init(72);     //延时初始化 
uart_init(72,9600); //串口初始化为9600
    Adc_Init();   //AD转换初始化     
while(1)
{
temp=(float)Get_Adc1(ADC_CH0)*(3.3/4096);
volu=temp;
USART1->DR=volu;
while((USART1->SR&0X40)==0);
delay_ms(5);
volu=(temp-volu)*16;
USART1->DR=volu;
while((USART1->SR&0X40)==0);
delay_ms(10);

}
举报

凌流浪

2019-5-9 09:28:15
我也没用过这东东,你直接电脑串口看看可以不?另外你的蓝牙串口是不是RS232接口啊?
举报

李超

2019-5-9 09:39:13
原子哥帮忙看下我AD这样用有错吗?谢谢!
如果只发送一个0X01可以收到,但是发送的内容改成AD转换的电压值就收不到了。我把18章的AD改了这些
ADC1->SQR1&=2<<20;     //3个转换在规则序列中,转换规则序列1,2,3
u16 Get_Adc1(u8 ch)   
{
//设置转换序列   
ADC1->SQR3&=0XFFFFFFE0;//规则序列1 通道ch
ADC1->SQR3|=ch;      
ADC1->CR2|=1<<22;       //启动规则转换通道 
while(!(ADC1->SR&1<<1));//等待转换结束    
return ADC1->DR;//返回adc值
}
u16 Get_Adc2(u8 ch)  
{
//设置转换序列   
ADC1->SQR3&=0XFFFFFC1F;//规则序列2 通道ch
ADC1->SQR3|=ch;      
ADC1->CR2|=1<<22;       //启动规则转换通道 
while(!(ADC1->SR&1<<1));//等待转换结束    
return ADC1->DR;//返回adc值
}
举报

李建华

2019-5-9 09:52:49
你现在是蓝牙通信问题还是ADC问题啊?
别一次写这么多没验证过的代码,神仙也没辙。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分