完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
写了一个ADC的裸机程序,烧入开发板,发现不能用,一直在转换,而导致无法读取转换后的值下面标红色的那句一直在串口打印,PCLK=50MHZ
int ReadAdc() { /*开始AD转换*/ ADCCON |= 0x1; Uart_SendString("ADC--startn"); while(ADCCON & 0x1); /*检查转换是否结束*/ while(!(ADCCON & 0x8000)) Uart_SendString("A/D conversion in processn"); Uart_SendString("ADC--endn"); return ( (int)ADCDAT0 & 0x3ff ); } 下面我把ADC初始化代码也贴一下 void adc_init(void) { //选择输入通道,AIN0,对应开发板上W1可调电阻 int channel=0; /*设置分频时钟*/ preScaler = ADC_FREQ; preScaler = 50000000/ADC_FREQ - 1; //PCLK=50M /*AD转换频率设置,最大频率为2.5MHz*/ ADCCON = (1<<14)|(preScaler<<6)|(channel<<3); //setup channel delay(1000); } 我索性把整个代码,贴一下吧,各位帮帮我吧。。。。。。。 |
|
相关推荐
4个回答
|
|
|
|
|
|
回复 2楼thisway.diy的帖子
老师你好,谢谢您的回复,ADC的总时钟 不是CLKCON的第十五位吗?它默认是开启的啊 老师我还想问下,在程序中除了 1.关闭看门狗 2.设置栈 3.设置时钟 4.初始化串口(用于输出信息)5.设置ADCCON,之外不用设置其他的东西吧,我直接下到Nand Flash 的0地址的。 |
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
197个成员聚集在这个小组
加入小组为什么点亮LED的例子放在NORFlash上跑会出现奇怪的现象?
2157 浏览 6 评论
1964 浏览 5 评论
韦东山老师推出的《玩转ARM裸机实战》课程将帮你以上问题一扫而光!
4521 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 07:11 , Processed in 0.684035 second(s), Total 85, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号