标题:
基于stm32的机械臂程序PS2控制
[打印本页]
作者:
qmjianda
时间:
2017-7-4 23:50
标题:
基于stm32的机械臂程序PS2控制
在DOC文件夹中已经说明好接线示意图,本程序适用于stm32f103C8也可以自己改一下startup.s和宏定义就可以适用于所有stm32f103系列
0.png
(53.32 KB, 下载次数: 113)
下载附件
2017-7-4 23:56 上传
单片机源程序如下:
#include "stm32f10x.h"
#include "bsp_led.h"
#include "bsp_pwm_output.h"
#include "bsp_SysTick.h"
#include "bsp_uart.h"
#include "stdio.h"
#include "bsp_ps2.h"
#include "bsp_control.h"
extern uint8_t Flag_Send ;
extern uint8_t i;
extern uint8_t j;
extern uint16_t ucTemp[][6];
extern u16 Speed[];
extern u32 BasicTimer;
u32 MeasureTime = 0;
int main(void)
{
u8 key;
/* 初始化LED灯 */
RGB_LED_Config(LED_R_GPIO_PIN);
TIMx_PWM_Init();
/* 初始化滴答定时器 */
SysTick_Init();
/* 使能滴答定时器 */
SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;
/* 初始化USART */
UART_Config();
//初始化PS2
PS2_Init();
PS2_SetInit(); //配配置初始化,配置“红绿灯模式”,并选择是否可以修改
printf("初始化完成\n");
while(1)
{
//MeasureTime = BasicTimer;
LED_R(0);
MeasureTime = BasicTimer;
Get_ControlMessage(ucTemp);
ChangeAngle();
#if 0
key=PS2_DataKey();
if(key!=0) //有按键按下
{
printf(" \r\n %d is light \r\n",Data[1]);//ID
printf(" \r\n %d is pressed \r\n",key);
if(key == 11)
{
PS2_Vibration(PS2_AnologData(PSS_LX),0x00); //发出震动后必须有延时 delay_ms(1000);
Delay_ms(50);
}
else if(key == 12)
{
PS2_Vibration(0x00,PS2_AnologData(PSS_RX)); //发出震动后必须有延时 delay_ms(1000);
Delay_ms(50);
}
else
PS2_Vibration(0x00,0x00);
}
printf(" %5d %5d %5d %5d\r\n",PS2_AnologData(PSS_LX),PS2_AnologData(PSS_LY),
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
ROBOT.rar
(583.09 KB, 下载次数: 112)
2017-7-4 23:57 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1