#include <stm32f10x_lib.h>
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h"
#include "key.h"
#include "exti.h"
#include "wdg.h"
#include "timer.h"
//STM32串口采样与仪表步进电机控制程序代码
//主程序
//徐明
//2011.7
/****************************************************************************/
u8 len_out, flag, verify_1, verify_0;
u8 ret_val1, ret_val2, ret_val3;
u8 in_buf[12];
u8 out_buf[7]={0x7f,0x05,0x01,0x01,0x00,0x00,0x86};
u8 in_sampling_buf[9]={
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff
};
u8 out_sampling_buf[15]={
0x7f,0x0d,0x01,0x01,
0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,
0x00,0x00,0x8e
};
/***************************************************************************/
void sampling_verify(void) //采样数据校验值计算
{
u8 i, j;
u16 verify;
verify_1=0;
verify_0=0;
verify=0;
for(i=0; i<9; i++)
{
out_sampling_buf[i+4]=in_sampling_buf[i];
}
for(j=0; j<13; j++)
{
verify=verify+out_sampling_buf[j];
}
out_sampling_buf[14]=verify&0xff;
out_sampling_buf[13]=verify>>8;
}
/***************************************************************************/
void send_SBU(u8 d)
{
USART1->DR=d;
while((USART1->SR&0X40)==0);//等待发送结束
}
/***************************************************************************/
void send_sampling(void)
{
u8 i;
for(i=0; i<15; i++)
{
send_SBU(out_sampling_buf[i]);
}
}
/***************************************************************************/
void send_code(void)
{
u8 i;
for(i=0; i<7; i++)
{
send_SBU(out_buf[i]);
}
}
/****************************************************************************/
void send_invain(void)
{
out_buf[4]=0x01;
out_buf[6]=0x87;
send_code();
}
/*********************************************************