你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
奏奏奏 发表于 2017-3-15 09:44
队长shiwo 发表于 2017-3-15 08:45 #define IO_Data_Set(x) HAL_GPIO_WritePin(GPIOC,GPIO_PIN_All,(x&0x00f0)) 这样子行不行的 ...
MrJiu 发表于 2017-3-15 10:13 直接右键,看一下代码实现,不就很清楚了嘛!!!!开源,啥叫开源,就是用来看滴!!! ...
zhao.zhao 发表于 2017-3-15 10:16 你的意思是给GPIOC端口赋值0X00F0, 这样赋值不行的,0X00F0 !=0 所以作为 “1”来处理, 这样你GPIOC端 ...
zhao.zhao 发表于 2017-3-15 10:29 ";"可以不要写,程序中直接调用"GPIOCout(0x00f0);"
这个是全部反转GPIOB的值吧
你的意思是给GPIOC端口赋值0X00F0, 这样赋值不行的,0X00F0 !=0 所以作为 “1”来处理,
这样你GPIOC端口所有的输出都是"1";如果你要按你的意愿来做,只有直接写寄存器。自己做个函数吧。网上例子挺多的。
看的懂那个库函数的,就是找不到GPIO_Write()功能的函数而已,
void IO_Write_DataBit(uchar data)
{
GPIOC->ODR |= 0xff;
GPIOC->ODR &= data;
}
我也是这样想的,直接操作寄存器算了,上面那个函数应该可以实现了吧
#define GPIOCout(x) GPIOC->ODR=x; // GPIOC端口输出 X
先把GPIOC都设置为推挽输出,然后试试这个
非常感谢了