板卡版本:Core_DSC28034PNT
IDE版本:Haawking IDE V1.8.1
仿真器版本:HX100V1
作用:HX320F28034PNT控制小车
第一步:配置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; // 输出低电平
}
实物演示如下:
关于中科昊芯
“智由芯生 创享未来”,中科昊芯是数字信号处理器专业供应商。作为中国科学院科技成果转化企业,瞄准国际前沿芯片设计技术,依托多年积累的雄厚技术实力及对产业链的理解,以开放积极的心态,基于开源指令集架构RISC-V,打造多个系列数字信号处理器产品,并构建完善的处理器产品生态系统。产品具有广阔的市场前景,可广泛应用于工业控制及电机驱动、数字电源、光伏、储能、新能源汽车、消费电子、白色家电等领域。
全部0条评论
快来发表一下你的评论吧 !