关于oled例程,GPIOC的引脚全被操作了么

2019-07-21 06:59发布

void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal)
{
  /* Check the parameters */
  assert_param(IS_GPIO_ALL_PERIPH(GPIOx));

  GPIOx->ODR = PortVal;
}
除了PC0~7,剩下的引脚也被操作,是不是用了oled,别的引脚就不能用了

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
MonkeyD路飞
1楼-- · 2019-07-21 08:44
现解决:
uint16_t portval;
void GPIO_Write(GPIO_TypeDef* GPIOx, uint8_t PortVal)
{
  /* Check the parameters */
  assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
  GPIOC->ODR&=~(0XFF<<0);                //&#199;&#229;&#191;&#213;0~7
        portval=GPIOC->ODR;
        portval|=PortVal;
        GPIOC->ODR=portval;
}
szczyb1314
2楼-- · 2019-07-21 13:04
GPIOx->ODR = PortVal;你可以用这个直接操作你想操作的引脚,其他的引脚不改变它的状态即可
MonkeyD路飞
3楼-- · 2019-07-21 16:04
szczyb1314 发表于 2018-12-6 13:10
GPIOx->ODR = PortVal;你可以用这个直接操作你想操作的引脚,其他的引脚不改变它的状态即可

运行GPIO_WRITE这个函数后,C的引脚都被操作了
szczyb1314
4楼-- · 2019-07-21 20:50
 精彩回答 2  元偷偷看……
szczyb1314
5楼-- · 2019-07-22 00:49
MonkeyD路飞 发表于 2018-12-6 12:54
现解决:
uint16_t portval;
void GPIO_Write(GPIO_TypeDef* GPIOx, uint8_t PortVal)

多次一举,直接操作有啥影响吗?
MonkeyD路飞
6楼-- · 2019-07-22 03:16
szczyb1314 发表于 2018-12-7 15:38
多次一举,直接操作有啥影响吗?

直接操作8-15就被拉低了

一周热门 更多>