五、实践 通过串口发送指令控制舵机(180°舵机演示) 1、UartAssist 注意:串口、波特率、以及数据格式等
2、现象 180°/270°舵机可以通过串口发送的指令控制舵机旋转的角度; 360°舵机可以通过串口发送的指令控制舵机旋转的方向和速度。
转载自: W-ML 如有侵权请联系删除
)// 如果数据是以$开头则开始存储数据
{
memset(Rx_Buffer, 0, sizeof(Rx_Buffer));// 清空接收缓冲区
Rx_Buffer[0] = '
Usart1:串口中断接收以“$”开头,“#”结尾的数据
4、SysTick.c - void Delay_us(uint16_t us)
- {
- SysTick->CTRL = 0;// SysTick控制寄存器清零,停止SysTick定时器
- SysTick->LOAD = 72*us - 1;// 设置SysTick加载寄存器的值,确定延时的时间
- SysTick->VAL = 0;// 将SysTick当前值寄存器清零
- SysTick->CTRL = 5;// 设置SysTick控制寄存器,使其开始倒数计数,并启用SysTick定时器
- while((SysTick->CTRL & 0x00010000) == 0);// 等待SysTick定时器倒数完成
- SysTick->CTRL = 0;// 再次将SysTick控制寄存器清零,停止SysTick定时器
- }
复制代码
使用系统滴答定时器来控制延时
五、实践 通过串口发送指令控制舵机(180°舵机演示) 1、UartAssist
注意:串口、波特率、以及数据格式等
2、现象 180°/270°舵机可以通过串口发送的指令控制舵机旋转的角度; 360°舵机可以通过串口发送的指令控制舵机旋转的方向和速度。
转载自: W-ML 如有侵权请联系删除
;
Rx_Index = 1;
}
else if(Rx_Buffer[Rx_Index] == '#' && Rx_Buffer[0] == '
Usart1:串口中断接收以“$”开头,“#”结尾的数据
4、SysTick.c [ DISCUZ_CODE_7 ] 使用系统滴答定时器来控制延时
五、实践 通过串口发送指令控制舵机(180°舵机演示) 1、UartAssist
注意:串口、波特率、以及数据格式等
2、现象 180°/270°舵机可以通过串口发送的指令控制舵机旋转的角度; 360°舵机可以通过串口发送的指令控制舵机旋转的方向和速度。
转载自: W-ML 如有侵权请联系删除
)// 如果数据是以#结尾则结束数据存储并打印数据信息
{
printf("Received: %sundefined", Rx_Buffer);// 打印接收到的数据
memcpy(Data_Buffer, Rx_Buffer + 1, 3);// 使用memcpy函数进行数组内容复制
memset(Rx_Buffer, 0, sizeof(Rx_Buffer));// 清空接收缓冲区
Rx_Index = 0;// 重置索引
Data_Flag = 1;// 数据标志位
}
else
{
Rx_Index++;// 增加索引,准备接收下一个字符
}
}
}[/code]
Usart1:串口中断接收以“$”开头,“#”结尾的数据
4、SysTick.c [ DISCUZ_CODE_7 ] 使用系统滴答定时器来控制延时
五、实践 通过串口发送指令控制舵机(180°舵机演示) 1、UartAssist
注意:串口、波特率、以及数据格式等
2、现象 180°/270°舵机可以通过串口发送的指令控制舵机旋转的角度; 360°舵机可以通过串口发送的指令控制舵机旋转的方向和速度。
|