为了账号安全,请及时绑定邮箱和手机立即绑定

如图所示,问题出在main()中队结构变量Encoder_InitStruct的赋值?

如图所示,问题出在main()中队结构变量Encoder_InitStruct的赋值?

小怪兽爱吃肉 2022-05-13 15:11:24
unsigned short wr_map[8] = {0x0000,0x0000,0x0000,0x00000,0x00000,0x0000,0x0000,0x0000};unsigned short rr_map[8] = {0x0000,0x0000,0x0000,0x00000,0x00000,0x0000,0x0000,0x0000};void Encoder_Init(Encoder_InitTypeDef Encoder_InitStruct){ wr_map[R2] &= 0xf1ff; wr_map[R2] |= (Encoder_InitStruct.Pulse_Mode << 8) |(Encoder_InitStruct.Pulse_Mul); Reg_Write(R2, wr_map[R2]);}typedef enum{ DOUBLE_PULSE, DIR_PULSE } PULSE_MODE;typedef enum{ MUL_1 = 0x0000, MUL_2 = 0x0400, MUL_4 = 0x0800 } ENCODER_MUL;typedef struct{ PULSE_MODE Pulse_Mode; ENCODER_MUL Pulse_Mul; } Encoder_InitTypeDef;int main(void){Encoder_InitTypeDef Encoder_InitStruct;Encoder_InitStruct-> Pulse_Mode = DOUBLE_PULSE; Encoder_InitStruct-> Pulse_Mul = MUL_4; Encoder_Init(&Encoder_InitStruct);}这是程序的一部分Regwrite()函数在这之前已经声明过了,问题在main()中队结构变量Encoder_InitStruct的赋值。
查看完整描述

1 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

只从出现的代码看


Encoder_InitTypeDef  Encoder_InitStruct;Encoder_InitStruct-> Pulse_Mode = DOUBLE_PULSE; //这是个实体,你还用->赋值,Encoder_InitStruct.Pulse_ModeEncoder_InitStruct-> Pulse_Mul = MUL_4;   //同上Encoder_Init(&Encoder_InitStruct);//函数声明的参数是结构体变量,你这里反而取的是实体的地址


查看完整回答
反对 回复 2022-05-16
  • 1 回答
  • 0 关注
  • 126 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信