各位朋友,大家好!
我用的是ATmega128最小系统板来控制小车的四个电机转动,采用无线遥控模块,模块型号是XL03-232AP2-1收发模块(睿迪无线产的),单片机作为接收端,程序如下:
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define fosc 1000000
void USART_Init(uint baud)
{
UBRR1H=(fosc/16/(baud+1))/256;
UBRR1L=(fosc/16/(baud+1))%256;
UCSR1A=0X00;
UCSR1C=0X06;
UCSR1B=0X90;
}
SIGNAL(SIG_USART1_RECV)
{
volatile uchar uart_data;
uart_data=UDR1;
PORTA=uart_data;
PORTC=uart_data;
}
void Init_IO(void)
{
DDRC=0XFF;
DDRA=0XFF;
PORTC=0X00;
PORTA=0X00;
}
int main(void)
{
Init_IO();
USART_Init(9600);
SREG|=0X80;
while(1)
{
;
}
}
上位机我用VB6.0编写上位机程序,图形如下
程序为
Private Sub Command1_Click()
Comm1.Output = "0X0F"
End Sub
Private Sub Command2_Click()
Comm1.Output = "0"
End Sub
Private Sub Command3_Click()
Comm1.Output = "0XF0"
End Sub
Private Sub Command4_Click()
Comm1.Output = "0X3F"
End Sub
Private Sub Command5_Click()
Comm1.Output = "0XCF"
End Sub
Private Sub Form_Load()
Comm1.PortOpen = True
Comm1.OutBufferCount = 0
Comm1.InputMode = comInputModeBinary
End Sub
但是问题在于,电机并没有按照图形界面上的要求做出动作,只有“停止”好用,点击其他的控件都不能让电机实现规定的运转。
若有懂相关知识的高人,请给与帮助吧,不胜感激!!
补充一下:
减速电机驱动器为L298P直流电机驱动模块,可以控制电机的速度和方向,本实验中我给电机的是高电平,全速。