完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
原来步进电机控制用的引脚是PC4 PC5 PC6 PC7 ,原来在没有用LCD时是可以驱动步时电机的! 但在红外控制时要装上LCD的,LCD占用了PC6 PC7 ,所以只好另找空的IO口,现在改用PC2 PC3 PC4 PC5,用的OUT_PP,但在LCD中定义的是AF_OUT_PP,驱动步时电机是不是也可以用AF _OUT_PP;而且在LCD中对引脚CRL及ODR是一次定义的,但我为了使用PC2 PC3 PC4 PC5 另外有在LED.H中有定义,是不是需要合并(即全部在LCD中定义);还是各函数调用时是各自定义各自的,就相当于分时复用?; 目前程序可以编译通过!!
但感觉引脚定义的输出有问题,所以先请教下!! |
|
相关推荐
3个回答
|
|
|
|
经过实际验证可以合并定义,以下是修改后的lcd.h
void LCD_Init(void) { RCC->APB2ENR|=1<<3;//先使能外设PORTB时钟 RCC->APB2ENR|=1<<4;//先使能外设PORTC时钟 RCC->APB2ENR|=1<<0; //开启辅助时钟 JTAG_Set(SWD_ENABLE); //开启SWD //PORTC6~10复用推挽输出 ??这里感觉复用推挽不对应该是3=0011(modex=00,cnfy=11) GPIOC->CRH&=0XFFFFF000; GPIOC->CRH|=0X00000333; GPIOC->CRL&=0X000000FF; GPIOC->CRL|=0X33333300; //增加portc2~5通用推挽输出50MHZ 3=0011(modex=00,cnfy=11) GPIOC->ODR|=0X07C0; //11111000000 pc6-10输出高,不影响PC2~5的输出 //PORTB 推挽输出 GPIOB->CRH=0X33333333; GPIOB->CRL=0X33333333; GPIOB->ODR=0XFFFF; 目前可以驱动步进电机运转; |
|
|
|
谢谢指点!!
|
|
|
|
只有小组成员才能发言,加入小组>>
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
382 浏览 1 评论
250 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
230 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
590 浏览 2 评论
615 浏览 2 评论
1345浏览 9评论
STM32F429 U盘IAP升级程序跳转APP异常的原因?
14浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
12浏览 3评论
STM32F103时钟硬件程序会卡在“while((SPI3->SR SPI_I2S_FLAG_RXNE) == (uint16_t)RESET);”导致异常复位的原因?
58浏览 3评论
10浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-20 00:20 , Processed in 1.138650 second(s), Total 70, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号