完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
再发下文字版的程序,另外我的串口接收中断程序关了,求原子哥指点
#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); } } |
|
|
|
我也没用过这东东,你直接电脑串口看看可以不?另外你的蓝牙串口是不是RS232接口啊?
|
|
|
|
原子哥帮忙看下我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值 } |
|
|
|
|
|
|
|
排除蓝牙问题了。然后通过发送对比数据,ADC有问题
|
|
|
|
没必要单独再写一个读的函数。直接用我们提供的就可以,关键是你的ADC_Init
|
|
|
|
蓝牙可以通过串口来调试啊,我用过,ADC网上的代码那么多,随便改改就可以了
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
366浏览 1评论
486浏览 1评论
607浏览 1评论
用PSOC6 BLE当外围设备,两者传输数据时,psoc6概率性出现蓝牙挂死的原因?
496浏览 1评论
是否有办法通过CYW20835板的固件发送BLE HCI命令?
471浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 01:33 , Processed in 0.702803 second(s), Total 91, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号