基于例程USMART,
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
//#include "lcd.h"
#include "usart.h"
#include "usmart.h"
//ALIENTEK战舰STM32开发板实验14
//USMART调试组件实验
//技术支持:www.openedv.com
//广州市星翼电子科技有限公司
u32 weidu1;
u32 jingdu1;
u32 weidu2;
u32 jingdu2;
//LED状态设置函数
void led_set(u8 sta)
{
LED1=sta;
}
//函数参数调用测试函数
void test_fun(void(*ledset)(u8),u8 sta)
{
ledset(sta);
}
int main(void)
{
delay_init(); //延时函数初始化
NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(9600); //串口初始化为9600
LED_Init(); //LED端口初始化
//LCD_Init();
usmart_dev.init(SystemCoreClock/1000000); //初始化USMART
//POINT_COLOR=RED;
//LCD_ShowString(30,50,200,16,16,"Mini STM32 ^_^");
//LCD_ShowString(30,70,200,16,16,"USMART TEST");
//LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
//LCD_ShowString(30,110,200,16,16,"2011/6/18");
while(1)
{
LED0=!LED0;
//********************************************************************
//** 函数名称: distance_jw
//** 功能描述: 根据经度纬度计算距离
//** 参 数: 经度纬度
//** 返 回 值: 距离
//** 日 期: 2008年12月
//*********************************************************************
u32 distance_jw(u32 weidu1,u32 jingdu1,u32 weidu2, u32 jingdu2)
{
double x,y,result,COS;
double PI=3.14159265;
double Earth_R=6371229;//m
u32 distance=0;
double wd1=(double)weidu1/600000;
double jd1=(double)jingdu1/600000;
double wd2=(double)weidu2/600000;
double jd2=(double)jingdu2/600000;
COS= cos(((wd1+wd2)/2)*PI/180);
x=(jd2-jd1)*PI*Earth_R* COS/180;
y=(wd2-wd1)*PI*Earth_R/180;
result =sqrt(x*x+y*y);
distance=(unsigned long int)result;
return (distance);
}
delay_ms(500);
}
}
只修改了main.c ,报错
main.c(51): error: #268: declaration may not appear after executable statement in block
main.c(52): error: #65: expected a ";"
main.c(73): warning: #12-D: parsing restarts here after previous syntax error
c基础太差啊。。琢磨了半天没发现问题在哪。求教。。。谢谢
|