作者:刘 富 板卡版本:HX320F28034PT IDE版本:Haawking IDE V0.5.3 编译器版本:HK100V1 作用:28034控制小车 第一步:配置GPIO3-6为电机控制引脚 EALLOW; GpioCtrlRegs.GPAMUX1.bit.GPIO3 = 0; // GPIO GpioCtrlRegs.GPADIR.bit.GPIO3 = 1; // Output GpioDataRegs.GPACLEAR.bit.GPIO3 = 1; // 输出低电平
GpioCtrlRegs.GPAMUX1.bit.GPIO4 = 0; // GPIO GpioCtrlRegs.GPADIR.bit.GPIO4 = 1; // Output GpioDataRegs.GPACLEAR.bit.GPIO4 = 1; // 输出低电平
GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 0; // GPIO GpioCtrlRegs.GPADIR.bit.GPIO5 = 1; // Output GpioDataRegs.GPACLEAR.bit.GPIO5 = 1; // 输出低电平
GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 0; // GPIO GpioCtrlRegs.GPADIR.bit.GPIO6 = 1; // Output GpioDataRegs.GPACLEAR.bit.GPIO6 = 1; // 输出低电平 第二步:配置GPIO12-15为输入角,读取引脚电平,输入电平由433M模块控制 GpioCtrlRegs.GPAMUX1.bit.GPIO12 =0; GpioCtrlRegs.GPADIR.bit.GPIO12 =0; //input GpioCtrlRegs.GPAPUD.bit.GPIO12 =0; //设置上拉输入
GpioCtrlRegs.GPAMUX1.bit.GPIO13 =0; GpioCtrlRegs.GPADIR.bit.GPIO13 =0; //input GpioCtrlRegs.GPAPUD.bit.GPIO13 =0; //设置上拉输入
GpioCtrlRegs.GPAMUX1.bit.GPIO14 =0; GpioCtrlRegs.GPADIR.bit.GPIO14 =0; //input GpioCtrlRegs.GPAPUD.bit.GPIO14 =0; //设置上拉输入
GpioCtrlRegs.GPAMUX1.bit.GPIO15 =0; GpioCtrlRegs.GPADIR.bit.GPIO15 =0; //input GpioCtrlRegs.GPAPUD.bit.GPIO15 =0; //设置上拉输入 EDIS; // 关闭寄存器写保护 第二步:按照读取引脚信号的不同实现控制小车,前进,后退,左转,右转等功能 if(GpioDataRegs.GPADAT.bit.GPIO12==0) { GpioDataRegs.GPASET.bit.GPIO3 = 1; // 输出高电平 GpioDataRegs.GPACLEAR.bit.GPIO4 = 1; // 输出低电平
GpioDataRegs.GPASET.bit.GPIO5 = 1; // 输出高电平 GpioDataRegs.GPACLEAR.bit.GPIO6 = 1; // 输出低电平 } else if(GpioDataRegs.GPADAT.bit.GPIO13==0) { GpioDataRegs.GPACLEAR.bit.GPIO3 = 1; // 输出低电平 GpioDataRegs.GPASET.bit.GPIO4 = 1; // 输出高电平
GpioDataRegs.GPACLEAR.bit.GPIO5 = 1; // 输出低电平 GpioDataRegs.GPASET.bit.GPIO6 = 1; // 输出高z电平
} else if(GpioDataRegs.GPADAT.bit.GPIO14==0) { GpioDataRegs.GPASET.bit.GPIO3 = 1; // 输出高电平 GpioDataRegs.GPACLEAR.bit.GPIO4 = 1; // 输出低电平
GpioDataRegs.GPACLEAR.bit.GPIO5 = 1; // 输出高电平 GpioDataRegs.GPASET.bit.GPIO6 = 1; // 输出低电平
} else if(GpioDataRegs.GPADAT.bit.GPIO15==0) { GpioDataRegs.GPACLEAR.bit.GPIO3 = 1; // 输出低电平 GpioDataRegs.GPASET.bit.GPIO4 = 1; // 输出高电平
GpioDataRegs.GPASET.bit.GPIO5 = 1; // 输出高电平 GpioDataRegs.GPACLEAR.bit.GPIO6 = 1; // 输出低电平 } else { GpioDataRegs.GPASET.bit.GPIO3 = 1; // 输出高电平 GpioDataRegs.GPASET.bit.GPIO4 = 1; // 输出低电平
GpioDataRegs.GPASET.bit.GPIO5 = 1; // 输出高电平 GpioDataRegs.GPASET.bit.GPIO6 = 1; // 输出低电平 }
|