|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
X41 1to4DFU Fixture PCB 跟 源程序
3 C4 f/ D* a, U0 ?1 s. h//============================================- F! B/ Y' B3 k! `, b
//=============程序信息=======================
6 o5 ^1 y# | p( P/******************************************
2 L; w+ m- k" U7 K* N1、作者:sunshine tang7 k P/ U% K9 z
4、产品名称:X41 1to4DFU Fixture
- Y t* ?' N2 N6 g& p3 T6 L. x5 i5、版本:V1.009 j$ X% i1 z J7 ?0 N) h6 Y6 P
6、程序名称:主程序
7 z8 q* I8 B* O# z1 F# E7、功能描述:控制4路4.0V的电源通断,检测4路电源的过流,' A! ~* I3 v/ p
两路按键控制,4路PASS指示灯,4路FAIL指示灯,2路气缸: B: v$ Y; O( V. i
控制,主板开机模式控制;通信波特率:115200,UART1,; u5 t! ^. O7 w& p
接收数据结束符为\r\n,发送数据结束符为\r\n@_@。
6 ^" G1 v! y# `/ {$ n5 y8、CPU类型:LPC1768
, C, T' W" o- }; t*******************************************/
: j) m, g5 m# O! x
* Y, u& y/ n' @3 I2 _' ?' Z9 n#include "..\config.h"
6 n# m, C% N3 ]$ b! e0 g. R#include "..\time.h"% S b8 ]: F: z- Q: a
//=============================
[; i3 F+ P3 f3 z5 j# \extern char GucRcvBuf[50] ;
$ M) s" f- y$ I, y5 y; C Uextern INT8U GulNum;# G2 k% o9 f: l, [8 }4 {! z( a, K
extern INT8U GucRcvNew;
4 X* b! p+ j, z, u+ \6 q, z, X* v) z* mextern INT8U uflag;
. {( u1 _. ?; {3 ~* I+ Textern INT8U bflag;
# T7 u; O" l* r, b! t( E. dextern INT32U time0v; + e9 c) t, U8 r0 k5 W' q
& X3 j) a$ s% @$ g! Q7 n//=================================
7 a7 @% v# t" {3 \- Tint main (void): w7 T+ N; g0 T% ?" A
{
h2 a; W; [( i% O8 B" o" [, i2 A% R' N0 P; u
targetInit(); //初始化目标板,切勿删除
' l, O+ d0 j/ |, R! Z& a pinInit(); //引脚初始化 {" z* T+ U6 ~5 e
PINMODE0=0x0000;//使用片内上拉# @% y: S w$ t) g
( U6 P4 G2 @! J8 f4 U8 M+ ?
//DFU初始化输出1.8V高电平 2012.4.6* @* @1 p4 J) Y" w6 d! ?3 M0 W
FIO1DIR |= (1<<16); FIO1CLR = (1<<16);
+ I2 @2 {0 i0 ^) `& r* d FIO1DIR |= (1<<9); FIO1CLR = (1<<9);
g# f/ e4 `# s' e% ?1 i# E, D FIO1DIR |= (1<<8); FIO1CLR = (1<<8);
, _* ]$ z3 g5 `, U* B FIO1DIR |= (1<<4); FIO1CLR = (1<<4);
9 ]6 d% W _) j- \/ K$ o
& W# ~1 J8 E7 ~6 L& A' j GucRcvNew = 0;
1 R& g; Y2 w. g& h9 d# g6 | uartInit (); //串口初始化
. c2 X% H; `8 ]% D5 R/ P# Z zyIsrSet(NVIC_UART1,(unsigned long)uart1Isr,PRIO_ONE);" @4 l, B6 v. E& i# s
timer0Init ();5 t% ?' i1 c# S+ X
r88k7_init();
3 d4 o% I; D/ z) F fiature_init(); & o; s- s A5 \! V4 }( Z4 U' b$ e
while (1)) l7 f$ o' F% i b! h. s% z6 H
{5 U: F* O2 i7 i. M4 x& s
if (GucRcvNew == 1){ //判断是否有新数据
. {" H- ^6 Z/ j& R GucRcvNew = 0; // 清除标志 & z Y' g9 S6 K
if(uflag==1)
9 n* P' ?" B- Q; O3 {% ^ {
$ p1 d8 G7 o$ G. X! C check(GucRcvBuf);
7 B L0 z5 i# b$ @ GulNum=0;
/ S. ^0 d$ m# [ uflag=0;
0 e0 M, L0 w5 g, W% c0 ` }' \6 F) o9 Y0 M5 \1 M- z& s+ r; M
}
) l5 q- B& x) x+ t8 [/ V if(bflag==1)
# _* u; J# V. H/ y+ w& K9 ~0 s. L {7 ?$ M+ S( y* I1 }* F, y
uart1SendByte ('\b');
* C! X5 o; c+ H, S" I2 @ uart1SendByte (' ');6 C* m& r0 n6 e5 q
uart1SendByte ('\b');) c. n6 J V6 d+ d; R7 C/ l6 M
bflag=0;5 b! G. M4 s4 j6 Q
}
: R% x! t& B) A5 S1 E! q7 e/ R3 x" w StartKey();! J [3 U) V- y! c# P& n, W
power_curr1();
/ }% }+ G" j2 n- z# P }
V" K5 W; T* \+ K! Y; ?}
* l% U* X+ h# w$ a9 G/ s6 V/*********************************************************************************************************0 Z4 ]0 @7 _7 ]. ^
End Of File( Y7 A0 s* }( R+ I6 Y/ m* _
*********************************************************************************************************/6 ^ _5 b: ]0 V0 G0 B+ g
- a: L1 u; A9 e2 I% [6 K: \
' C% c0 p; e) K6 B4 C! {9 w9 G2 e |
|