完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我这么写为什么不行?
#include #include int main(void) { unsigned int i; DDRD=0b11111111; DDRC=0b00000000; ADCSRA=(1< { for (i=0;i<8;i++) { switch(i) {case 0: ADMUX=(1< } ADCSRA|=(1< if (ADC>614.4) {PORTD=0b00000000; } else if(ADC<614.4) {PORTD=0b11111111; } } } } |
|
相关推荐
6 个讨论
|
|
sorry,忘带注释了,再发一遍 红色部分是我为了达到多个ADC同时能有有效做的尝试。 不带红色部分经测试可行! #include #include int main(void) { unsigned int i; DDRD=0b11111111; //所有的PINDx设为输出 DDRC=0b00000000; //作为ADC输入口 ADCSRA=(1< while (1) { for (i=0;i<8;i++) { switch(i) {case 0: ADMUX=(1< case 1: ADMUX=(1< case 2: ADMUX=(1< case 3: ADMUX=(1< case 4: ADMUX=(1< case 5: ADMUX=(1< case 6: ADMUX=(1< case 7: ADMUX=(1< default: ; } ADCSRA|=(1< while((ADCSRA&(1< if (ADC>614.4) //因为我的两个输入电压分别为0V和4V多一点,所以这里取了 {PORTD=0b00000000; //3V入口电压来跟两种情况比较 (3V/5V)*1024=614.4 } else if(ADC<614.4) {PORTD=0b11111111; } } } } |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
AVR Atmega16 Bootloader程序与上位机LabView程序
5122 浏览 6 评论
#include <ioavr.h>这个头文件我应该下什么编译器
7767 浏览 0 评论
3026 浏览 2 评论
3103 浏览 1 评论
10053 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 06:02 , Processed in 0.531384 second(s), Total 52, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号