stm32 能否对GPIO进行字节操作???
stm32 能否对GPIO进行字节操作?我试过以下方式对GPIOA低8位进行操作:
u8 *p8;
p8 = &GPIOA->ODR;
*P8 = 0x25;
纯软件仿真情况下,结果是对的,但是真正下到芯片里面运行就不对了,会影响到GPIOA的高8位。
stm32手册说可以字、半字、字节操作,不知怎么实现。
RE:stm32 能否对GPIO进行字节操作???【悬赏问答】
肯定可以了,对数据寄存器低字节赋值,然后对高字节进行与操作清零!RE:stm32 能否对GPIO进行字节操作???【悬赏问答】
呵呵,学习了,不明白,只知道
STM32对GPIO操作必须是32位全字操作
RE:stm32 能否对GPIO进行字节操作???【悬赏问答】
可以的 模拟位操作RE:stm32 能否对GPIO进行字节操作???【悬赏问答】
它的位数是32位的,你在对某个位操作时,使用与或者或进行改写操作即可。:DRE:stm32 能否对GPIO进行字节操作???【悬赏问答】
手动模拟不就行了,用 c语言的 位操作, &0xfff0,就表示只操作低八位回复:stm32 能否对GPIO进行字节操作???【悬赏问答】
可以自己实现这些函数void GPIO_Write_Byte_High(GPIO_TypeDef *GPIOx, uint8_t PortVal)
{
GPIOx->ODR = (GPIOx->ODR&0x00FF) | ((uint16_t)PortValODR&0xFF00) | (PortVal);
}
页:
[1]