📄 zheng_init.c
字号:
#include "include.h"
Coefficientof Timelinearity;
//UINT64 temp;
void hal_uInit(void) {
U0CTL = 0x10; // SW reset, 8-bit transfer, SPI master
// Data on Rising Edge, SMCLK, 3-wire
U0BR0 = 0x03; // SPICLK set baud
U0BR1 = 0; // Dont need baud rate control register 2 - clear it
U0MCTL = 0x52; // Dont need modulation control
U0TCTL = SSEL0;
ME1 |= 0x80;
P3SEL= 0x10; // Select Peripheral functionality (SPI)
P3DIR= 0x10;
U0CTL &= ~SWRST; // Configure as outputs(SIMO,CLK,CSn)
}
void time_A0_Init(void)
{
TACTL=TASSEL1+TACLR; // SELECT MCLK 8M
CCTL0=CCIE; //ENABLE THE INTERUPT
CCR0=60; //10 微秒
TACTL|=MC0; //SELECT THE ADD MODEL
_EINT(); //ENABLE GLOBE INTERUPT
}
#ifdef __ICC430__
#pragma vector=TIMERA0_VECTOR
__interrupt void Time_A0(void)
// MSP430-GCC C/C++ compiler for MSP430
#elif defined(__MSP430__)
interrupt (TIMERA0_VECTOR) Time_A0(void)
#endif
{
//P1OUT ^= BM(LED2);
CCTL0&=~CCIFG;
//ADdata.n++;
if(Timeinfo.specialtime<8640000000)
Timeinfo.specialtime++;
else
{
Timeinfo.specialtime=0;
}
/*////////采样////////
if ( ADdata.n ==499)
{
ADdata.n=0;
WDTCTL=WDT_ARST_1000;
ADC12CTL0&=~ENC;
ADdata.ADvalue16[0] = ADC12MEM0;
ADC12CTL0|=ENC+ADC12SC;
}
*/
}
/* ///做 线性回归算法 改变当前时间 当前时间通过简单的线性回归来逼近
get_current_time();
convert_time_format64(UINT8 *time);
huigui_function(UINT8 time_offset,UINT8 global_time);
if ()
{
get_global_time();
changelocaltime();
}
// UINT8 instancetime[8];
///////////////////// 软时钟为本地提供时间信息 ////////////////////////////
if(Timeinfo.mSecond==1000&&Timeinfo.Second==60&&Timeinfo.ten_uSecond==100&&Timeinfo.Minute==60&&Timeinfo.Hour==23)
{
Timeinfo.Hour=0;
}
if(Timeinfo.mSecond==1000&&Timeinfo.Second==60&&Timeinfo.ten_uSecond==100&&Timeinfo.Minute==60)
{
for ( int j=0;j<1;j++)
{
TXBUF0=Timeinfo.Hour;
while ((UTCTL0&0x01)==0);
}
Timeinfo.Minute=0;
Timeinfo.Hour++;
}
if(Timeinfo.mSecond==1000&&Timeinfo.ten_uSecond==100&&Timeinfo.Second==60)
{
for ( int j=0;j<1;j++)
{
TXBUF0=Timeinfo.Minute;
while ((UTCTL0&0x01)==0);
}
// ;
Timeinfo.Second=0;
Timeinfo.Minute++;
}
if(Timeinfo.mSecond==1000&&Timeinfo.ten_uSecond==100)
{
P1OUT ^= BM(LED3);
Timeinfo.Second++;
Timeinfo.mSecond=0;
}
if((Timeinfo.ten_uSecond)==100)///ERROR 990 uSeconds not 999uSecond
{
Timeinfo.ten_uSecond=0;
Timeinfo.mSecond++;
}
else
{
Timeinfo.ten_uSecond++;
}
_NOP();
// get_local_time(instancetime);
// temp = convert_time_format64(instancetime);
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -