完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
芯片型号 STM8S207R
存在问题:AD功能正常 但是PE6口作为按键输入 就有问题了 死活识别不出来 按键高有效 没搞过这个单片机 刚上手两天 比较紧急 我在想是不是第二功能问题 芯片资料看了一整 由于时间关系 还没找到 问题 望高手明示! 我的AD程序 #define KEY_PORTD GPIOE #define key_1 GPIO_PIN_6 unsigned char Kkey_flag=0; void main() { PB_DDR = 0x00 ;//PB口做AD采集口 AD功能完好 PB_CR1 = 0x00 ; PB_CR2 = 0x00 ; GPIO_Init(KEY_PORTD,key_1,GPIO_MODE_IN_PU_NO_IT); while (1) { if(GPIO_ReadInputPin(KEY_PORTD,key_1)) { delay_ms(5); //延时消抖 if(GPIO_ReadInputPin(KEY_PORTD,key_1)) Kkey_flag=1; } } } unsigned int ScanFunc(unsigned char channal) { static unsigned int buf[10]; unsigned char i=0; unsigned char temp; unsigned char ADC_DL; unsigned char ADC_DH; ADC_CSR&=0xf0; ADC_CSR|=channal; for(;i<10;i++) { ADC_CR1|=0x01; while(!(ADC_CSR & 0x80)) // EOC = 1 ADC_DL = ADC_DRL; // Read LSB 1st//right ADC_DH = ADC_DRH; // read MSB ADC_CSR &= 0x7f ; // EOC = 0 buf = (unsigned int)(ADC_DL | (unsigned int)(ADC_DH <<8)); } buf[0]=0; for(i=1;i<10;i++) { buf[0]+=buf; } buf[0]=buf[0]/9; return buf[0]; } void InitADC(void) { ADC_CR1 &= (unsigned char)(0x8f) ; ADC_CR1 &= (unsigned char)(0xfd) ; ADC_CR2 = (unsigned char)(0x38) ;//数据右对齐 // ADC_CR3 &= (unsigned char)(0x00) ; ADC_TDRH |= (unsigned char)(0xff) ; ADC_TDRL &= (unsigned char)(0x00) ; ADC_CSR &= (unsigned char)(0x0f) ; ADC_CSR |= (unsigned char)(0x06) ; //(ADC1_Ain6) ; ADC_CR1 |= (unsigned char)(0x01) ; } |
|
相关推荐
3个回答
|
|
|
|
|
|
寄存器操作配置也好 库函数操作也好 就是读取不出来
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【xG24 Matter开发套件试用体验】深入了解Silicon Labs xG24 Matter开发套件
165 浏览 0 评论
384 浏览 0 评论
424 浏览 0 评论
串口发送中断中对发送I/O口定义为GPIO输出,出现发送数据不完整,缺少2个字节,求解答
1994 浏览 3 评论
877 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10894 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-29 01:24 , Processed in 2.274564 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191