专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
请教使用探索者开发板,同时开启实验25和实验26(光敏和DAC),进入死循环的原因?
2019-07-21 04:04
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
3477
4
1225
程序一直在这位置等待转换结束! 16 Get_Adc(u8 ch)
{
//设置转换序列
ADC1->SQR3&=0XFFFFFFE0;//规则序列1通道CH
ADC1->SQR3|=ch;
ADC1->CR2|=1<<30;//启动规则转换通道
while(!(ADC1->SR&1<<1));//等待转换结束
return ADC1->DR;//返回ADC值
}
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
正点原子
1楼-- · 2019-07-21 09:47
回复【3楼】ZHWH0123:
---------------------------------
我们综合实验,用到了ADC1和ADC3,没你说的问题,你可以参考下我们的代码
加载中...
正点原子
2楼-- · 2019-07-21 12:21
注意,复位ADC是针对所有ADC都有效,看看是不是这个问题导致的。
加载中...
ZHWH0123
3楼-- · 2019-07-21 15:21
有尝试过将Adc3_Init(),的三步去调,没有效果
void Adc3_Init(void)
{
//先初始化IO口
RCC->APB2ENR|=1<<10;//使能ADC3时钟
// RCC->APB2RSTR|=1<<8;//ADCs复位(注意,所有ADC都会被复位)
// RCC->APB2RSTR&=~(1<<8);//复位结束
// ADC->CCR=1<<16;//ADCCLK=PCLK2/4/=84/4=21,时钟最好不要超过36
ADC3->CR1=0;//CR1设置清零
ADC3->CR2=0;//CR2设置清零
ADC3->CR1|=0<<24;//12为模式
ADC3->CR1|=0<<8;//非扫描模式
ADC3->CR2&=~(1<<1);//单次转换模式
ADC3->CR2&=~(1<<11);//右对齐
ADC3->CR2|=0<<28;//软件触发
ADC3->SQR1&=~(0XF<<20);
ADC3->SQR1|=0<<20;//1个转换在规则序列中,也就是只转换规则序列1
//设置通道5的采样时间
ADC3->SMPR2&=~(7<<(3*5));//通道5采样时间清空
ADC3->SMPR2|=7<<(3*5);//通道5,480个周期,提高采样时间可以提高精确度
ADC3->CR2|=1<<0;//开启AD转换器
}
加载中...
ZHWH0123
4楼-- · 2019-07-21 21:01
精彩回答 2 元偷偷看……
加载中...
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
STM32开发板免费用活动
7 个回答
stm32 处理 DHT11占用太多时间,大家程序是怎么设计的
8 个回答
分享一个STM32单片机做的离线编程器代码
9 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
---------------------------------
我们综合实验,用到了ADC1和ADC3,没你说的问题,你可以参考下我们的代码
void Adc3_Init(void)
{
//先初始化IO口
RCC->APB2ENR|=1<<10;//使能ADC3时钟
// RCC->APB2RSTR|=1<<8;//ADCs复位(注意,所有ADC都会被复位)
// RCC->APB2RSTR&=~(1<<8);//复位结束
// ADC->CCR=1<<16;//ADCCLK=PCLK2/4/=84/4=21,时钟最好不要超过36
ADC3->CR1=0;//CR1设置清零
ADC3->CR2=0;//CR2设置清零
ADC3->CR1|=0<<24;//12为模式
ADC3->CR1|=0<<8;//非扫描模式
ADC3->CR2&=~(1<<1);//单次转换模式
ADC3->CR2&=~(1<<11);//右对齐
ADC3->CR2|=0<<28;//软件触发
ADC3->SQR1&=~(0XF<<20);
ADC3->SQR1|=0<<20;//1个转换在规则序列中,也就是只转换规则序列1
//设置通道5的采样时间
ADC3->SMPR2&=~(7<<(3*5));//通道5采样时间清空
ADC3->SMPR2|=7<<(3*5);//通道5,480个周期,提高采样时间可以提高精确度
ADC3->CR2|=1<<0;//开启AD转换器
}
一周热门 更多>