fix:修复调光时间BUG
解决调光时间一样的情况下,调光亮与调光灭的实际调光时间不一致问题
This commit is contained in:
128
main.c
Normal file
128
main.c
Normal file
@@ -0,0 +1,128 @@
|
||||
#include "config.h"
|
||||
#include "gpio.h"
|
||||
#include "UART.h"
|
||||
#include "string.h"
|
||||
#include "UART_Set.h"
|
||||
#include "pwm_control.h"
|
||||
#include "Start_Init.h"
|
||||
#include "key.h"
|
||||
#include "WDT.h"
|
||||
/************* <09><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> **************
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD><EFBFBD><EFBFBD>STC8H8K64UΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>8<EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>STC8G<EFBFBD><EFBFBD>STC8Hϵ<EFBFBD><EFBFBD>оƬ<EFBFBD><EFBFBD>ͨ<EFBFBD>òο<EFBFBD>.
|
||||
|
||||
˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ˫<EFBFBD><EFBFBD><EFBFBD>жϷ<EFBFBD>ʽ<EFBFBD>շ<EFBFBD>ͨѶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
ͨ<EFBFBD><EFBFBD>PC<EFBFBD><EFBFBD>MCU<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, MCU<43>յ<EFBFBD><D5B5><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD><DAB0>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, Ĭ<>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD>ʣ<EFBFBD>115200,N,8,1.
|
||||
|
||||
ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UART.h ͷ<>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UART1~UART4 <20><><EFBFBD>壬<EFBFBD><E5A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬͨ<CDAC><CDA8><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>ͨ<EFBFBD>š<EFBFBD>
|
||||
|
||||
<EFBFBD>ö<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>1Tģʽ(<28><><EFBFBD>ǵͲ<C7B5><CDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>12T)<29><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ƶ<EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߾<EFBFBD><DFBE>ȡ<EFBFBD>
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ, ѡ<><D1A1>ʱ<EFBFBD><CAB1> 22.1184MHz (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"config.h"<22><><EFBFBD><EFBFBD>).
|
||||
|
||||
|
||||
/******************* IO<49><4F><EFBFBD>ú<EFBFBD><C3BA><EFBFBD> *******************/
|
||||
|
||||
|
||||
void GPIO1_config(void)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStructure; //<2F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD>
|
||||
|
||||
GPIO_InitStructure.Pin = GPIO_Pin_0 | GPIO_Pin_1; //ָ<><D6B8>Ҫ<EFBFBD><D2AA>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>IO, GPIO_Pin_0 ~ GPIO_Pin_7
|
||||
GPIO_InitStructure.Mode = GPIO_PullUp; //ָ<><D6B8>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
|
||||
GPIO_Inilize(GPIO_P3,&GPIO_InitStructure); //<2F><>ʼ<EFBFBD><CABC>
|
||||
}
|
||||
|
||||
/*************** <20><><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *****************/
|
||||
void UART1_config(void)
|
||||
{
|
||||
COMx_InitDefine COMx_InitStructure; //<2F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD>
|
||||
COMx_InitStructure.UART_Mode = UART_8bit_BRTx; //ģʽ, UART_ShiftRight,UART_8bit_BRTx,UART_9bit,UART_9bit_BRTx
|
||||
COMx_InitStructure.UART_BRT_Use = BRT_Timer1; //ʹ<>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>, BRT_Timer1, BRT_Timer2 (ע<><D7A2>: <20><><EFBFBD><EFBFBD>2<EFBFBD>̶<EFBFBD>ʹ<EFBFBD><CAB9>BRT_Timer2)
|
||||
COMx_InitStructure.UART_BaudRate = 115200; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, һ<><D2BB> 110 ~ 115200
|
||||
COMx_InitStructure.UART_RxEnable = ENABLE; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ENABLE<4C><45>DISABLE
|
||||
COMx_InitStructure.BaudRateDouble = DISABLE; //<2F><><EFBFBD><EFBFBD><EFBFBD>ʼӱ<CABC>, ENABLE<4C><45>DISABLE
|
||||
COMx_InitStructure.UART_Interrupt = ENABLE; //<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>, ENABLE<4C><45>DISABLE
|
||||
COMx_InitStructure.UART_Priority = Priority_0; //ָ<><D6B8><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ȼ<EFBFBD>(<28>͵<EFBFBD><CDB5><EFBFBD>) Priority_0,Priority_1,Priority_2,Priority_3
|
||||
COMx_InitStructure.UART_P_SW = UART1_SW_P30_P31; //<2F>л<EFBFBD><D0BB>˿<EFBFBD>, UART1_SW_P30_P31,UART1_SW_P36_P37,UART1_SW_P16_P17,UART1_SW_P43_P44
|
||||
UART_Configuration(UART1, &COMx_InitStructure); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 UART1,UART2,UART3,UART4
|
||||
|
||||
//PrintString1("STC8H8K64U UART1 Test Programme!\r\n"); //UART1<54><31><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||
}
|
||||
|
||||
/********************WDT INT<4E><54><EFBFBD><EFBFBD> ********************/
|
||||
void WDT_config(void)
|
||||
{
|
||||
WDT_InitTypeDef WDT_InitStructure; //<2F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD>
|
||||
|
||||
WDT_InitStructure.WDT_Enable = ENABLE; //<2F>ж<EFBFBD>ʹ<EFBFBD><CAB9> ENABLE<4C><45>DISABLE
|
||||
WDT_InitStructure.WDT_IDLE_Mode = WDT_IDLE_STOP; //IDLEģʽ<C4A3>Ƿ<EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD> WDT_IDLE_STOP,WDT_IDLE_RUN
|
||||
WDT_InitStructure.WDT_PS = WDT_SCALE_32; //<2F><><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD>ʱ<EFBFBD><CAB1>ʱ<EFBFBD>ӷ<EFBFBD>Ƶϵ<C6B5><CFB5> WDT_SCALE_2,WDT_SCALE_4,WDT_SCALE_8,WDT_SCALE_16,WDT_SCALE_32,WDT_SCALE_64,WDT_SCALE_128,WDT_SCALE_256
|
||||
WDT_Inilize(&WDT_InitStructure); //<2F><>ʼ<EFBFBD><CABC>
|
||||
}
|
||||
|
||||
u8 count_flag=0;
|
||||
void main(void)
|
||||
{
|
||||
GPIO_config();
|
||||
UART3_config();
|
||||
Start_Init();
|
||||
pwm_config();
|
||||
Timer2_Init_1ms();
|
||||
Key_Init();
|
||||
GPIO1_config();
|
||||
UART1_config();
|
||||
WDT_config(); //<2F><><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD>629ms<6D><73>λ
|
||||
|
||||
PCON &= ~POF; //<2F><><EFBFBD><EFBFBD>LVD<56>жϱ<D0B6>־λ
|
||||
RSTCFG = 0x41; //LVD:2.4V<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD>λ
|
||||
EA = 1;
|
||||
|
||||
if(debug)
|
||||
{
|
||||
PrintString1("MCU Start");
|
||||
}
|
||||
|
||||
while (1)
|
||||
{
|
||||
WDT_Clear(); //<2F>幷
|
||||
count_flag++;
|
||||
|
||||
//Ϊ<>˱<EFBFBD>֤ij<D6A4><C4B3>ѹ2.2V<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(count_flag==1)
|
||||
{
|
||||
P10=1;
|
||||
}
|
||||
if(count_flag==8)
|
||||
{
|
||||
P10=0;
|
||||
}
|
||||
if(count_flag==10)
|
||||
{
|
||||
count_flag=0;
|
||||
}
|
||||
|
||||
Usart_judge_Data();
|
||||
|
||||
Usart_Deal_Data();
|
||||
|
||||
deal_command1();
|
||||
|
||||
deal_command2();
|
||||
|
||||
// checkpwm();
|
||||
|
||||
show_light();
|
||||
|
||||
Usart_answer();
|
||||
|
||||
Key_ScanTask();
|
||||
|
||||
KEY_TEST();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user