本帖最后由 2672751679 于 2017-6-8 23:08 编辑
baud_rate_code 无论定义成u8 或者 u16, 都获取不到PB12 13 14 15的值(PB12 13 14 15输入的有效电平是高电平,端口配置的是下拉输入)
硬件仿真,baud_rate_code的值始终为0
这种写法对吗,我查网上的资料,有像这么写的
是不是baud_rate_code的类型定义错了
请大家指教,谢谢
u16 baud_rate_code=0; //全局变量
GPIOB ->IDR &=0X00000000;
baud_rate_code = GPIOB ->IDR&0x0000F000;
baud_rate_code += 1;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
原子哥你好,我是这样配置的:
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //使能GPIOB的时钟
//RX_LED
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //输出模式
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3; //输出管脚
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //输出速度
GPIO_Init(GPIOB,&GPIO_InitStructure); //根据设定参数初始化GPIO.3
GPIO_ResetBits(GPIOB,GPIO_Pin_3);
//TX_LED
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
GPIO_ResetBits(GPIOB,GPIO_Pin_4);
//ER_LED
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
GPIO_ResetBits(GPIOB,GPIO_Pin_0);
//发送接收控制模式
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //PB5
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_Init(GPIOB, &GPIO_InitStructure);
//USART1-TX
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6; //PB6
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP; //复用推挽
GPIO_Init(GPIOB,&GPIO_InitStructure);
//USART-RX
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7; //PB7
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING; //浮空输入
GPIO_Init(GPIOB,&GPIO_InitStructure);
//CRC16校验码高低字节顺序用
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD; //下拉输入
GPIO_Init(GPIOB,&GPIO_InitStructure);
//ID站号用
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD; //下拉输入
GPIO_Init(GPIOB,&GPIO_InitStructure);
//波特率用
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD; //下拉输入
GPIO_Init(GPIOB,&GPIO_InitStructure);
请指教,谢谢
一周热门 更多>