菜鸟求助:如何将一个uint32_t保留低8位变成一个uint8_t?

2019-07-14 23:47发布

比如 :
uint32_t data1;,
uint8_t  data2;
data2 = data1;
是不是就将最低的8位传送给了 data2??
如果要传送次低的8位:
data2 = data1>>8;
就可以了?????
求助


extern void GPIO_OUT(uint32_t Output)
{
        uint16_t temp1,temp2;
        temp1=(uint16_t)Output;
        temp2=(uint16_t)Output;
        GPIOA->ODR = temp1;//保留低8位
        GPIOB->ODR = temp2;//保留高8位
        GPIOC->ODR = (uint16_t)(Output>>16);//保留高16位
}
运行一下只有PC的16个端口能正常输出
所有的GPIO都是推挽输出,初始化都没有问题,已经试验过了
拜托了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。