我的战舰开发板的RS485通过一个USB转485转换器和电脑连接上了,为什么我让开发板向电脑发送“000”,通过串口助手收到的却是“9F 7E 3E FF ”呀?
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"
#include "rs485.h"
#include "ds18b20.h"
//ALIENTEK????STM32??·?°????é24
//485 ???é
//?????§????www.openedv.com
//?????????í??×?????????????
int main(void)
{
short temperature;
u8 key;
u8 i=0,t=0;
u8 cnt=0;
u8 rs485buf[5];
delay_init(); //???±??????????
NVIC_Configuration(); //?è??NVIC????·?×é2:2??????????????2???ì????????
uart_init(9600); //?®??????????9600
LED_Init(); //LED??????????
LCD_Init(); //LCD??????
KEY_Init(); //KEY??????
DS18B20_Init; //18b20??????
RS485_Init(19200); //??????RS485
POINT_COLOR=RED;//?è??×??????ì??
LCD_ShowString(60,50,200,16,16,"WarShip STM32");
LCD_ShowString(60,70,200,16,16,"RS485 TEST");
LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(60,110,200,16,16,"2012/9/9");
LCD_ShowString(60,130,200,16,16,"KEY0:Send"); //?????á??????
POINT_COLOR=BLUE;//?è??×?????????
LCD_ShowString(60,150,200,16,16,"Temp: . C");
POINT_COLOR=RED;//?è??×??????ì??
LCD_ShowString(60,170,200,16,16,"Send Data:"); //?????á??????
POINT_COLOR=BLUE;//?è??×?????????
while(1)
{
if(t%10==0)//??100ms????????
{
temperature=DS18B20_Get_Temp();
if(temperature<0)
{
LCD_ShowChar(60+40,150,'-',16,0); //????????
temperature=-temperature; //×???????
}else LCD_ShowChar(60+40,150,' ',16,0); //????????
LCD_ShowNum(60+40+8,150,temperature/10,2,16); //??????????·?
LCD_ShowNum(60+40+32,150,temperature%10,1,16); //??????????·?
}
key=KEY_Scan(0);
if(key==KEY_RIGHT)//KEY0°???,·???????????
{
RS485_Send_Data("0 0 0",3);
}
delay_ms(10);
t++;
if(t==20)
{
t=0;
LED0=!LED0;
//cnt++;
}
}
}
|