本帖最后由 咕噜 于 2016-8-17 21:00 编辑 : G% l4 @! A( r% e2 l
7 O: W% D$ J$ {0 x$ c4 |; J( q% l/************************************************************************************************/
3 M O9 {0 o( y! n1 h1 q最近一段时间在学习contiki系统,STM32在无线应用上前景更为广阔。3 v! K" z1 j8 S; B8 }
/************************************************************************************************/: O6 h4 W: [/ I# }% k
平台配置-- platform-conf.h
) D/ @3 P; l' H& c/ |7 k
( E- |' b, x( \1 f3 D9 @- S7 z- /*: B+ m+ L' b4 D5 Y) ]
- * \file* b# Q$ k! ^! y9 ~
- * platform-conf.h
# O# J c- I# l. O b# O - * \author
9 d$ L$ p; x$ {; J K. n! _ - * Marcus Lunden <marcus@thingsquare.com>>
5 H* _5 G, I! Y- y8 [/ D4 | - * \desc" G: B3 _( a5 X8 `; S/ n
- * platform dependent configurations, ?4 ?1 k7 M' R
- */
2 K* v) u7 l6 X5 D' B3 J$ I
- T+ u: F9 D3 t& L4 N! ?- #ifndef __PLATFORM_CONF_H__
# z* |7 a$ S( J6 c/ E7 L; k - #define __PLATFORM_CONF_H__/ x( c$ P2 t1 J9 Q: E
- /*--------------------------------------------------------------------*/
& d6 }' b7 e1 Z" { - #include <inttypes.h>
2 |0 L" c! M% A! b" [ - #include <string.h>3 ^) T% V& n5 t8 V* L$ g+ t1 x. ^
- /*--------------------------------------------------------------------*/3 a+ {3 L6 C$ g3 A! U# d& C6 f
- //系统时钟
2 g. w7 Z4 T1 t: L V" ? - #define F_CPU 168000000ul
8 w. i. f$ ]* j6 ?- y - //LED
. ~+ B3 G; \9 d! J - #define LEDS_CONF_LED1 1 /* green */- A/ C" a7 [- B# o) k
- #define LEDS_CONF_LED2 2 /* orange */4 B' I( a1 K/ S. u; p. R
- #define LEDS_CONF_LED3 4 /* red */# y5 ^( c5 T3 c
- #define LEDS_CONF_LED4 8 /* blue */
: Y( Q( H+ M1 E0 ?" H# b& }% Y - #define LEDS_CONF_LED5 5 /* yellow */
# m6 u3 o, o ?1 R
" {0 ]8 |* P) g9 W) V$ M- #define LEDS_CONF_RED (1<<LEDS_CONF_LED3)2 ~# {5 ^% y4 }
- #define LEDS_CONF_GREEN (1<<LEDS_CONF_LED1)
) w3 d4 q+ x8 Z3 x0 q - #define LEDS_CONF_BLUE (1<<LEDS_CONF_LED4)+ Y1 v h' b- v! c5 k! o
- 0 A6 s# p( c% t( U* N% b* y; @" Z
- //#define FIXED_NET_ADDRESS 18 Q' w! D. A" u- \/ a+ _
- //#define NET_ADDR_A 0x2001- r% [' H4 }0 i1 K. u
- //#define NET_ADDR_B 0xdb8
" e; }/ d6 ?, ]5 V( {; A - //#define NET_ADDR_C 0xbbbb; j$ |* P0 a7 ?
- //#define NET_ADDR_D 0xabcd
: l# J5 R9 \6 U8 u" _ - * \" I6 w p( \: [- g- Z
- #define UART1_CONF_TX_WITH_INTERRUPT 1 //0
L' H9 T* l ]8 ], r - #define WITH_SERIAL_LINE_INPUT 1 //串口; w! v0 O! R3 f/ i: y" k/ {
- #define ENERGEST_CONF_ON 0 //能量估计,失效. E, J" @: ^- x
- #define TELNETD_CONF_NUMLINES 6 //telnet服务& G% K( f, a6 g( e
- //射频RADIO 驱动0 y! c% `/ f; T* `
- #define NETSTACK_CONF_RADIO spirit_radio_driver. ]9 ` |, g( U& v
- //射频RADIO 最大负载 w! z8 s. q! ?8 g2 L- X
- #define NETSTACK_RADIO_MAX_PAYLOAD_LEN 96 /* spirit1-config.h */
3 @+ D `; i9 Z2 D0 y+ S6 A5 A. R - /*---------------------------------------------------------------------*/0 H5 `+ ]; x+ K& b
- /* define ticks/second for slow and fast clocks. Notice that these should be a
+ |; p# e1 ~1 _4 h - power of two, eg 64,128,256,512 etc, for efficiency as POT's can be optimized5 C6 z0 n2 R; K) u+ E: Y' z: A
- well. */
; G7 ?5 i A- M$ g8 K - #define CLOCK_CONF_SECOND 2048
" }/ Z! J" D' Q0 {+ _: q, a# @, y) [ - // One tick: 85.33 us: x* I; b- o2 O* i6 Z# i
- #define RTIMER_ARCH_SECOND 168000/*32768*/7 Q. }3 r6 n0 o9 n" [
0 |/ E4 l5 h e8 u3 l- /*--------------------------------------------------------------------*/
6 u ^) \( H( R/ f0 t4 ] - #define RTIMER_CLOCK_LT(a,b) ((signed short)((a)-(b)) < 0)
5 P! M8 H9 [- ?( _) n" u) g
" S/ P& L, ^; \4 x$ a& x- typedef unsigned long clock_time_t;; y8 t* Q- {, O
- typedef unsigned long long rtimer_clock_t;: J7 Y7 {6 ?! t$ n6 [) N' e7 d
- ! `4 v6 m$ U* n
- #define CC_CONF_REGISTER_ARGS 0: Y' }7 j- M; Y% S
- #define CC_CONF_FUNCTION_POINTER_ARGS 12 t4 e+ z* n$ r* a* ?! B! G' H9 l
- #define CC_CONF_FASTCALL
( j; i/ X6 {( i9 r9 p9 Y* X3 S - #define CC_CONF_VA_ARGS 11 Z8 a# S5 z$ X$ \2 B! o
- #define CC_CONF_INLINE inline
5 L. U3 G6 u7 g - 5 G) \- h$ x; q( k2 z& p$ F
- #define CCIF
4 x& ?8 x5 x% a: q' ?- | U - #define CLIF7 y T* Q: A. [
: x- N: Q$ }, ~1 L: [: h- typedef uint8_t u8_t;
9 v6 y' o6 _% I( Y; t - typedef uint16_t u16_t;
. h5 a/ N, k6 b u" D - typedef uint32_t u32_t;6 C' l, t; h7 O# L
- typedef int32_t s32_t;" @" g+ @) D& `/ w
- typedef unsigned short uip_stats_t;; `0 K( B2 I5 T( p& o) e( U9 |
- /*--------------------------------------------------------------------*/
% Z V" }. m8 H. D. W+ }+ k - & B& r+ ?1 o. a E/ `6 ?& @
- #endif /* __PLATFORM_CONF_H__ */
复制代码
4 B4 [5 O. d0 U( L" R; a3 |7 [
3 G }2 S2 ]2 z6 q3 ~5 C |
contiki-conf配置
! b0 n, G# z2 H2 Q