标题:
蓝宙K60模拟陀螺仪源码
[打印本页]
作者:
如同1219
时间:
2018-4-21 18:10
标题:
蓝宙K60模拟陀螺仪源码
蓝宙陀螺仪
1、程序串口波特率是115200
2、C15脚作为输入引脚。C15脚接低电平时输出陀螺仪信号,C15脚接高电平,输出加速度信号。
/******************** (C) COPYRIGHT 2011 蓝宙电子工作室 ********************
* 文件名 :main.c
* 描述 :工程模版实验
*
* 实验平台 :landzo电子开发版
* 库版本 :
* 嵌入系统 :
**********************************************************************************/
#include "include.h"
#include "calculation.h"
/*************************
设置系统的全局变量
*************************/
/*******************
外部时钟变量
*******************/
extern u8 TIME0flag_1ms ; //PT0口1ms定时标志位
extern u8 TIME0flag_5ms ; //PT0口5ms定时标志位
extern u8 TIME0flag_10ms ; //PT0口10ms定时标志位
extern u8 TIME0flag_20ms ; //PT0口20ms定时标志位
extern u8 TIME1flag_1s ; //PT1口1s定时标志位
extern u8 IntegrationTime ; //曝光时间
/********
按键
********/
u8 keyflg = 0 ;
u16 ASPeed0 ,ASPeed1 ,ASPeed2;
u16 ASPeed3 ,ASPeed4 ,ASPeed5 ;
/********
全局
********/
u8 Atep8B0 ;
/*********
角度传感器
*********/
u8 AInitC ;
u16 AAngleAcceleArry[6] ;
u8 AAngAcceCount ;
u16 AAngleArrySCI[6] ;
u8 ReCRC ;
u8 RFlag ;
/*********
*********/
void main()
{
DisableInterrupts; //禁止总中断
/*********************************************************
初始化程序
*********************************************************/
//自行添加代码
/***************************
变量初始化
*****************************/
/*********************************************************
初始化全局变量
*********************************************************/
RFlag = 0 ;
/***************************
寄存器初始化初始化
*****************************/
uart_init (UART0 , 115200); //初始化UART0,输出脚PTA15,输入脚PTA14,串口频率 9600
// LCD_KEY_init ( ) ;
AngleAcceleration_init() ;
gpio_init (PORTA , 17, GPO,HIGH);
gpio_init (PORTC , 15, GPI,LOW); //C15脚拉低,角速度示波器输出,C15脚拉高,加速度示波器输出。
pit_init_ms(PIT0, 1); //初始化PIT0,定时时间为: 1ms
pit_init_ms(PIT1, 100); //初始化PIT1,定时时间为: 100ms
PTC15_IN = 0 ;
EnableInterrupts; //开总中断
/******************************************
执行程序
******************************************/
while(1)
{
/*********************
1ms程序执行代码段
*********************/
if(TIME0flag_10ms == 1)
{
TIME0flag_10ms = 0 ;
AAngAcceCount = AngleAcceleration_AD(AAngleAcceleArry,AAngAcceCount) ; //采集传感器AD
for(AInitC = 0 ;AInitC < 6;AInitC++){
AAngleArrySCI[AInitC] = AAngleAcceleArry[AInitC]/1 ;
}
AAngAcceCount = 0 ;
if(PTC15_IN == 0 ){
for(AInitC = 0 ;AInitC < 3;AInitC++)
{
uart_putchar (UART0, AAngleArrySCI[AInitC]) ;
uart_putchar (UART0, 0x00) ;
}
uart_putchar (UART0, 0x00) ;
uart_putchar (UART0, 0x00) ;
ReCRC = (u8)AAngleArrySCI[0] +(u8)AAngleArrySCI[1] + (u8)AAngleArrySCI[2] ;
uart_putchar (UART0, ReCRC) ;
}else if(PTC15_IN == 1) {
for(AInitC = 3 ;AInitC < 6;AInitC++)
{
uart_putchar (UART0, AAngleArrySCI[AInitC]) ;
uart_putchar (UART0, 0x00) ;
}
uart_putchar (UART0, 0x00) ;
uart_putchar (UART0, 0x00) ;
ReCRC = (u8)AAngleArrySCI[3] +(u8)AAngleArrySCI[4] + (u8)AAngleArrySCI[5] ;
uart_putchar (UART0, ReCRC) ;
}
}
/*********************
5ms程序执行代码段
*********************/
if(TIME0flag_5ms == 1)
{
TIME0flag_5ms = 0 ;
}
/*********************
10ms程序执行代码段
*********************/
if(TIME0flag_10ms == 1)
{
TIME0flag_10ms = 0 ;
PTB17_OUT = ~PTB17_OUT ;
// uart_putchar (UART0, 0xaa) ;
}
/*********************
20ms程序执行代码段
*********************/
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
landzoCCDk60_V1.1模拟陀螺仪.zip
(3.21 MB, 下载次数: 10)
2018-4-21 18:10 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
51hei温文尔雅
时间:
2018-11-20 20:47
没定义引脚啊
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1