TA的每日心情 | 开心 2019-11-20 15:00 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
; t' s3 x' R7 n5 u/******************************************************************************/
( k* x: e8 u' X6 J4 C/*
: A& f' p- D5 i+ u// 文件名:main.c _ M+ v. v1 h! D W+ k s
// 说明:供客户测试模块通信使用程序
) M, q7 d1 W* ]0 w! g, N// 编写人员:
3 S3 L% H* Z. Z+ G+ K, A* t6 \8 e; G// 编写日期: ( G9 c! G+ @6 _ m) |
// 程序维护:3 s( E- x7 i- O
// 维护记录:
. [! y" h E! Y3 _//
7 P, E* p, @4 h- P//
3 V7 o h1 Y% ^) c*/ # `/ v0 a! A7 ^2 s9 e
// 免责声明:该程序仅用于学习与交流 ; z* ]4 L( a- W- T, K9 y
// (c) Anxinke Corporation. All rights reserved. 5 |0 M" Q9 ]4 B& z! J* h
/******************************************************************************/
4 Q: O% _6 d9 G! s) Y#include "typedef.h"
# f+ w& n3 [& n R5 s( W, I* f#include "gpio.h"
" F# v, R9 `; U$ A0 c; r0 C! g#include "uart.h"
/ s. f; {* Y6 f, M+ ?#include "nRF24l01p.h". Q% b! U6 q8 k" |8 J
#include "delay.h"
: X K7 _: ~6 n1 d- r
# Q, t- V, G+ l5 Fuchar txData[32] = {0x00};
" F0 `9 V0 E( p: zuchar rxData[32] = {0x00};' ^ i8 b6 |" @3 r* ?; }: T) v
4 v4 B, y" f) G. R
/******************************************************************************/
Z/ u1 j# L& d9 G0 m9 B9 u// 函数名称:main
7 g; P2 ?) G1 f2 ~8 J// 输入参数: 7 W- H* i P' J0 f2 X
// 输出参数:
: |- E2 E( F$ e4 L; h( N- P// 函数功能: 4 K" c0 @, _- s! h
/******************************************************************************/; {% o$ q) s- C& r$ \1 b, g! n
void main(void)5 f, r# i# }; g$ i4 e
{, p# h& U4 V9 f
unsigned char i=0;
) }: c' r4 ~7 H, [! a6 c uartInit();
2 [/ K. i5 ^; W8 _ Delay100ms();3 |3 `" ^2 T& \/ H2 d- l
init_nrf24l01_io();* C/ B2 ?# ]+ \4 k o
led1ON();
- z3 b) m' V, W% r; q# |7 M Delay100ms();
; Z9 m$ ? w+ ^- K9 Z led1OFF();4 L3 W- u9 i- K+ T5 Y; c, y
Delay100ms();5 c% u, |( Y9 M4 h3 v0 W+ q6 U3 B
led1ON();
5 R8 B$ N+ r: E) E2 F8 _) @8 Y1 { Delay100ms();
: m. ?+ [+ ^8 X m& B2 C led1OFF();1 w+ r. @! b9 N: I8 m& N
1 Z0 a/ a3 _( N0 g0 G+ Q9 O Delay100ms();
3 }9 l; Q6 F3 _+ r" E8 i. A: F uartSendString("System initialization is complete!\r\n");" f H# Y+ G: R: [' W+ ]- m7 e
receive_mode_init();
% q4 \6 y0 Z7 [6 G' B" v2 X2 ?( ^ G, Z" f
while(1)
6 I( g0 p) w4 p r+ P1 Y {
" Q4 ?3 H5 f* H c% u7 ]. H KEY1 = 1;
1 _- x7 h$ g+ |1 c9 v( C" D, ` r KEY2 = 1;
5 |* f7 U* u8 s; L" J /*+ @ H) W9 V/ k' v
* 判断是否按下KEY
# N! ?" p4 P+ Y- C& p6 y */1 Y" B8 Z% j+ p8 C4 @
if (key1ON() || key2ON()) {; c1 @1 E% Z% d: M. Q* _
_delay_us(500);2 L3 y3 n; E e
txData[0] = 0;
4 B8 D% q9 g6 {: q if (key1ON()) {
r v# Y) W1 s6 W txData[0] = 0xAA; // 如果按下K1 则将数据置为0xAA ! [4 r" `2 t# Q7 v2 u4 g% l `
uartSendString("You press the left button\r\n"); $ f7 v# J" V( p9 P
} else if (key2ON()){
1 t! K/ v* Q% `9 W, v+ \4 S txData[0] = 0x55; // 如果按下K2 则将数据置为0x55' W8 h, a0 s; L! a# G- f: W; e" {
uartSendString("You press the Right button\r\n");& h+ t6 m1 S% n3 X5 H7 m7 ~
}
7 O2 i, x) r0 Q f- Z) I /*. J" b5 e) I- E8 f" }4 m0 e! A3 r7 ?
* 根据不同的数据LED提示- E B+ V+ {% Z. m$ Z2 g
*/
# f( d" T( G: v* O' `8 L if (send_data(txData) == 1) {
- F# y+ Q6 z* H: k( M9 j uartSendString("Success of sending data\r\n");- l* I: D- w- ^) l. h0 P+ h
if (txData[0] == 0xAA) {
# |/ \" R( [9 s! h6 C+ G/ j led1ON(); 4 W+ X- Z* H( S% S
} else if (txData[0] == 0x55) {* @2 c3 y# ?1 u T' U7 A
led2ON(); ' ~0 m w0 `# Q
} 1 V3 W, j' i4 F, W! `7 r! M' M
Delay100ms();
* d$ }7 P( g% T led1OFF();
$ l! z; D2 ~8 |1 a: @ led2OFF(); * g8 |+ ^# Q2 z6 X
} else {+ j0 H) R2 F9 O& z
uartSendString("Failed to send data\r\n");
! s8 c) U! R: t }
5 N* Z3 o) @ ~ R9 O+ @2 N receive_mode_init();
0 V! V% e4 ?$ t- O" f* n- ^9 G }) Q& c# p8 [$ v: ?5 j
rxData[0] = 0;! O0 E$ B( l% f0 Y
led1OFF();
. B1 S. A$ N! M6 w6 \. t+ V, a led2OFF();9 ~* |" T# k j$ H; |" `% f+ B4 P
if (receive_data(rxData)) {
7 p' x/ k% T5 Y/ ]7 X2 f. x0 S if (rxData[0] == 0xAA) {: Q* A3 ~; E. l2 u1 ]7 B" V( d
led1ON();
$ p0 M! ?+ u# L# Q( D2 J6 B uartSendString("Receiving the data, from the Left\r\n");) O4 ~8 p9 k( v! Q8 D) J3 g
} else if (rxData[0] == 0x55) {
, C) s _3 p' y% }+ U$ V led2ON();
5 i% }1 |8 n+ |0 y9 C( Z uartSendString("Receiving the data, from the Right\r\n");
' H) \1 [6 M& B7 i( V5 \ }
( E+ X: p# }7 S' Z! [5 l5 g Delay100ms();
* `. u" Y; S% Q) G* e# X8 P6 }. d }! N2 {3 a$ Q; S. k N4 t( o
4 t8 j8 } j; o' O/ P6 t" Y }
/ `7 J8 a' L* s1 r. u- j}& e- O, a% S; @* c; i1 d8 H
- k) x3 b/ ?2 L* U
2 _6 e- G( s5 ]4 P
|
|