Changeset 94
- Timestamp:
- 06/12/2007 12:11:16 PM (5 years ago)
- Location:
- nano-RK
- Files:
-
- 5 edited
-
projects/basic_tasks/makefile (modified) (1 diff)
-
projects/basic_tasks/nrk_cfg.h (modified) (1 diff)
-
src/platform/firefly2_2/include/hal.h (modified) (1 diff)
-
src/platform/firefly2_2/include/nrk_pin_define.h (modified) (3 diffs)
-
src/platform/firefly2_2/source/ulib.c (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
nano-RK/projects/basic_tasks/makefile
r38 r94 1 1 # Platform name cc2420DK, firefly, micaZ, firefly2, firefly2_2 2 PLATFORM = firefly2 2 PLATFORM = firefly2_2 3 3 4 4 -
nano-RK/projects/basic_tasks/nrk_cfg.h
r86 r94 24 24 // Leave NRK_NO_POWER_DOWN define in if the target can not wake up from sleep 25 25 // because it has no asynchronously clocked 26 #define NRK_NO_POWER_DOWN26 //#define NRK_NO_POWER_DOWN 27 27 28 28 // Max number of tasks in your application -
nano-RK/src/platform/firefly2_2/include/hal.h
r33 r94 584 584 #define UART_BAUDRATE_57K6 15 585 585 // change 8 to 7 below for correct oscillator 586 #define UART_BAUDRATE_115K2 8586 #define UART_BAUDRATE_115K2 7 587 587 #define UART_BAUDRATE_230K4 3 588 588 #define UART_BAUDRATE_250K 3 -
nano-RK/src/platform/firefly2_2/include/nrk_pin_define.h
r33 r94 7 7 ******************************************************************************************************* 8 8 *******************************************************************************************************/ 9 10 11 //--------------------------------------------------------------------------------------------- 12 // Port A 13 #define VREG_EN 5 // PA.5 - Output: VREG_EN to CC2420 14 #define RESET_N 6 // PA.6 - Output: RESET_N to CC2420 15 #define DEBUG_0 3 16 #define DEBUG_1 4 17 #define BUTTON 7 // PA.7 - Input button 0 18 19 //--------------------------------------------------------------------------------------------- 20 // Port B 21 #define SPI_SS 0 // PB.0 - Output: SPI Slave Select 22 #define SCK 1 // PB.1 - Output: SPI Serial Clock (SCLK) 23 #define MOSI 2 // PB.2 - Output: SPI Master out - slave in (MOSI) 24 #define MISO 3 // PB.3 - Input: SPI Master in - slave out (MISO) 25 #define GPIO26 4 26 #define GPIO28 5 27 28 //--------------------------------------------------------------------------------------------- 29 //PORT C 30 #define CSN 0 // PB.0 - Output: SPI Chip Select (CS_N) 31 #define FIFO 1 // PB.7 - Input: FIFO from CC2420 32 33 34 35 //---------------------------------------------------------------------------------------------- 36 // Port D 37 #define UART1_RXD 2 // PD.2 - Input: UART1 RXD 38 #define UART1_TXD 3 // PD.3 - Output: UART1 TXD 39 #define SFD 6 // PD.4 - Input: SFD from CC2420 40 #define UART1_RTS 5 // PD.5 - Output: UART HW handshaking: RTS 41 #define CCA 4 // PD.6 - Input: CCA from CC2420 42 #define UART1_CTS 7 // PD.7 - Input: UART HW handshaking: CTS 43 44 45 46 //---------------------------------------------------------------------------------------------- 47 // Port E 48 #define UART0_RXD 0 // PE.0 - Input: UART0 RXD 49 #define UART0_TXD 1 // PE.1 - Output: UART0 TXD 50 #define LED_0 2 // PE.0 - Output: Yellow LED 51 #define LED_1 3 // PE.1 - Output: Green LED 52 #define LED_2 4 // PE.2 - Output: Red LED 53 #define LED_3 5 // PE.2 - Output: Red LED 54 #define GPIO34 6 55 #define FIFOP 7 // PE.7 - Input: FIFOP from CC2420 56 //------------------------------------------------------------------------------------------------------- 57 //------------------------------------------------------------------------------------------------------- 58 // Port F 59 #define ADC_INPUT_0 0 60 #define ADC_INPUT_1 1 // PF.1 - ADC1 61 #define ADC_INPUT_2 2 // PF.2 - ADC2 62 #define ADC_INPUT_3 3 // PF.3 - ADC3 63 #define ADC_INPUT_4 4 // PF.3 - ADC3 64 #define ADC_INPUT_5 5 // PF.3 - ADC3 65 #define ADC_INPUT_6 6 // PF.3 - ADC3 66 #define ADC_INPUT_7 7 // PF.3 - ADC3 67 68 //------------------------------------------------------------------------------------------------------- 69 // External RAM interface: 70 // PA and PC - Multiplexed address/data 71 // PG.0 - Output: Write enable: WR_N 72 // PG.1 - Output: Read enable: RD_N 73 // PG.2 - Output: Address Latch Enable: ALE 74 //------------------------------------------------------------------------------------------------------- 75 76 77 78 //------------------------------- 79 // GPIO handling functions 80 // these macros perform raw hw access 81 // ports and pins are acctual hw ports and pins 82 83 // use pin_port, and pin; ie: nkr_gpio_raw_set( PORTB, DEBUG_0 ) 84 #define nrk_gpio_raw_set( _port, _pin ) {do { _port |= BM(_pin); } while(0);} 85 // use pin_port, and pin; ie: nkr_gpio_raw_clr( PORTB, DEBUG_0 ) 86 #define nrk_gpio_raw_clr( _port, _pin ) {do { _port &= ~BM(_pin); } while(0);} 87 // use pin_port, and pin; ie: nkr_gpio_raw_get( PINB, DEBUG_0 ) 88 #define nrk_gpio_raw_get( _pin_port, _pin ) (_pin_port & BM(_pin)) 89 // use pin_port, port and pin; ie: nkr_gpio_raw_toggle( PINB, PORTB, DEBUG_0 ) 90 #define nrk_gpio_raw_toggle( _pin_port, _port, _pin ) { \ 91 if ((_pin_port & BM(_pin))) do{ _port &= ~BM(_pin); } while(0); \ 92 else do { _port |= BM(_pin); }while(0); \ 93 } 94 // use direction; ie: nkr_gpio_raw_direction( DDRB, DEBUG_0 ) 95 #define nrk_gpio_raw_direction( _direction_port_name, _pin, _pin_direction ) { \ 96 if (_pin_direction == NRK_PIN_INPUT) { \ 97 _direction_port_name &= ~BM( _pin ); \ 98 } else { \ 99 _direction_port_name |= BM( _pin ); \ 100 } \ 101 } 102 103 // when a platform does not support one 104 // of the NRK_<pin name> declared below, it 105 // must define it has an invalid pin in the 106 // platform ulib.c (e.g. a platform that does not 107 // support NRK_DEBUG_0 should have the following in 108 // ulib.c NRK_INVALID_PIN( NRK_DEBUG_0 ) ) 109 #define NRK_INVALID_PIN_VAL 0xFF 110 111 // nrk ports NRK_<hw port> used for the mapping 112 // to the real hw. (3 bits reserved for ports) 113 #define NRK_PORTA 0 114 #define NRK_PORTB 1 115 #define NRK_PORTC 2 116 #define NRK_PORTD 3 117 #define NRK_PORTE 4 118 #define NRK_PORTF 5 119 120 // define pin directions 121 #define NRK_PIN_INPUT 0 122 #define NRK_PIN_OUTPUT 1 9 123 10 124 … … 22 136 // declare pins as used by higher level programs 23 137 // mapping to the hardware is done by ulib.c 24 DECLARE_NRK_PIN( VREG_EN ) // declare pin named NRK_VREG_EN25 DECLARE_NRK_PIN( RESET_N ) // declare pin named NRK_RESET_N26 138 DECLARE_NRK_PIN( DEBUG_0 ) // declare pin named NRK_DEBUG_0 27 139 DECLARE_NRK_PIN( DEBUG_1 ) // declare pin named NRK_DEBUG_1 … … 36 148 DECLARE_NRK_PIN( GPIO26 ) // declare pin named NRK_GPIO26 37 149 38 DECLARE_NRK_PIN( CSN ) // declare pin named NRK_CSN39 DECLARE_NRK_PIN( FIFO ) // declare pin named NRK_FIFO40 150 41 151 DECLARE_NRK_PIN( UART1_RXD ) // declare pin named NRK_UART1_RXD 42 152 DECLARE_NRK_PIN( UART1_TXD ) // declare pin named NRK_UART1_TXD 43 153 DECLARE_NRK_PIN( SFD ) // declare pin named NRK_SFD 44 DECLARE_NRK_PIN( UART1_RTS ) // declare pin named NRK_UART1_RTS45 154 DECLARE_NRK_PIN( CCA ) // declare pin named NRK_CCA 46 DECLARE_NRK_PIN( UART1_CTS ) // declare pin named NRK_UART1_CTS47 155 48 156 DECLARE_NRK_PIN( UART0_RXD ) // declare pin named NRK_UART0_RXD 49 157 DECLARE_NRK_PIN( UART0_TXD ) // declare pin named NRK_UART0_TXD 50 158 DECLARE_NRK_PIN( FIFOP ) // declare pin named NRK_FIFOP 51 DECLARE_NRK_PIN( YLED) // declare pin named NRK_YLED52 DECLARE_NRK_PIN( GLED) // declare pin named NRK_GLED53 DECLARE_NRK_PIN( RLED) // declare pin named NRK_RLED54 DECLARE_NRK_PIN( BLED) // declare pin named NRK_BLED159 DECLARE_NRK_PIN( LED_0 ) // declare pin named NRK_YLED 160 DECLARE_NRK_PIN( LED_1 ) // declare pin named NRK_GLED 161 DECLARE_NRK_PIN( LED_2 ) // declare pin named NRK_RLED 162 DECLARE_NRK_PIN( LED_3 ) // declare pin named NRK_BLED 55 163 56 164 DECLARE_NRK_PIN( GPIO34 ) // declare pin named NRK_GPIO34 57 165 58 DECLARE_NRK_PIN( JOYSTICK_LEFT ) // declare pin named NRK_JOYSTICK_LEFT 59 DECLARE_NRK_PIN( JOYSTICK_DOWN ) // declare pin named NRK_JOYSTICK_DOWN 60 DECLARE_NRK_PIN( ADC_INPUT_0_POT_METER ) // declare pin named NRK_ADC_INPUT_0_POT_METER 166 DECLARE_NRK_PIN( ADC_INPUT_0 ) 61 167 DECLARE_NRK_PIN( ADC_INPUT_1 ) // declare pin named NRK_ADC_INPUT_1 62 168 DECLARE_NRK_PIN( ADC_INPUT_2 ) // declare pin named NRK_ADC_INPUT_2 63 DECLARE_NRK_PIN( ADC_INPUT_3_TEMP_SENSOR ) // declare pin named NRK_ADC_INPUT_3_TEMP_SENSOR 169 DECLARE_NRK_PIN( ADC_INPUT_3 ) 170 DECLARE_NRK_PIN( ADC_INPUT_4 ) 171 DECLARE_NRK_PIN( ADC_INPUT_5 ) 172 DECLARE_NRK_PIN( JTAG_TCK ) // declare pin named NRK_JTAG_TCK 173 DECLARE_NRK_PIN( JTAG_TMS ) // declare pin named NRK_JTAG_TMS 174 DECLARE_NRK_PIN( JTAG_TDO ) // declare pin named NRK_JTAG_TDO 175 DECLARE_NRK_PIN( JTAG_TDI ) // declare pin named NRK_JTAG_TDI 64 176 65 177 DECLARE_NRK_PIN( ADC_INPUT_6 ) // declare pin named NRK_ADC_INPUT_6 -
nano-RK/src/platform/firefly2_2/source/ulib.c
r1 r94 2 2 #include <ulib.h> 3 3 #include <stdio.h> 4 #include <hal.h> 4 5 #include <hal_firefly2_2.h> 5 6 #include <avr/interrupt.h> 7 #include <nrk_pin_define.h> 8 #include <nrk_error.h> 6 9 7 10 #ifdef NANORK … … 18 21 uint8_t uart_rx_buf_start,uart_rx_buf_end; 19 22 char uart_rx_buf[MAX_RX_UART_BUF]; 23 nrk_sig_t uart_rx_signal; 20 24 21 25 SIGNAL(USART1_RX_vect) … … 29 33 uart_rx_buf_end++; 30 34 if(uart_rx_buf_end==MAX_RX_UART_BUF) uart_rx_buf_end=0; 31 nrk_event_signal( SIG(NRK_UART_RX_EVENT));35 nrk_event_signal(uart_rx_signal); 32 36 CLEAR_UART1_RX_INT(); 33 37 ENABLE_UART1_RX_INT(); 34 38 } 35 36 39 37 40 char getc1() … … 57 60 } 58 61 62 nrk_sig_t nrk_uart_rx_signal_get() 63 { 64 if(uart_rx_signal==NRK_ERROR) nrk_error_add(NRK_SIGNAL_CREATE_ERROR); 65 return uart_rx_signal; 66 } 59 67 60 68 #else 69 70 nrk_sig_t nrk_uart_rx_signal_get() 71 { 72 return NRK_ERROR; 73 } 74 61 75 62 76 uint8_t nrk_uart_data_ready(uint8_t uart_num) … … 77 91 #endif 78 92 79 80 int8_t nrk_gpio_set(uint8_t pin)81 {82 switch(pin)83 {84 case DEBUG_0:85 do { PORTA |= BM(DEBUG_0); }while(0);86 break;87 case DEBUG_1:88 do { PORTA |= BM(DEBUG_1); }while(0);89 break;90 default:91 return -1;92 break;93 }94 return 1;95 }96 97 int8_t nrk_gpio_clr(uint8_t pin)98 {99 switch(pin)100 {101 case DEBUG_0:102 do{ PORTA &= ~BM(DEBUG_0); }while(0);103 break;104 case DEBUG_1:105 do{ PORTA &= ~BM(DEBUG_1); }while(0);106 break;107 default:108 return -1;109 break;110 }111 112 return 1;113 }114 115 int8_t nrk_gpio_get(uint8_t pin)116 {117 int8_t val;118 val=-1;119 switch(pin)120 {121 case DEBUG_0: break;122 123 default:124 val=-1;125 break;126 }127 128 return val;129 }130 131 132 133 93 void nrk_kprintf( const char *addr) 134 94 { … … 144 104 } 145 105 146 int8_t nrk_clr_led( int led ) 147 { 148 if(led==0) { CLR_LED_0(); return 1; } 149 if(led==1) { CLR_LED_1(); return 1; } 150 if(led==2) { CLR_LED_2(); return 1; } 151 if(led==3) { CLR_LED_3(); return 1; } 152 return 0; 153 } 154 155 int8_t nrk_set_led( int led ) 156 { 157 if(led==0) { SET_LED_0(); return 1; } 158 if(led==1) { SET_LED_1(); return 1; } 159 if(led==2) { SET_LED_2(); return 1; } 160 if(led==3) { SET_LED_3(); return 1; } 161 return 0; 106 //--------------------------------------------------------------------------------------------- 107 // GPIO related definitions 108 //--------------------------------------------------------------------------------------------- 109 // Define high-level nrk pins mappings to hardware pins and ports 110 // This is used for nrk_gpio_... functions. 111 // Raw GPIO mapping can be found in the nrk_pin_define.h file. 112 //--------------------------------------------------------------------------------------------- 113 114 //------------------------------- 115 // Port A 116 NRK_PIN( DEBUG_0,DEBUG_0, NRK_PORTA ) 117 NRK_PIN( DEBUG_1,DEBUG_1, NRK_PORTA ) 118 NRK_PIN( BUTTON,BUTTON, NRK_PORTA ) 119 //------------------------------- 120 // Port B 121 NRK_PIN( SPI_SS,SPI_SS, NRK_PORTB ) 122 NRK_PIN( SCK,SCK, NRK_PORTB ) 123 NRK_PIN( MOSI,MOSI, NRK_PORTB ) 124 NRK_PIN( MISO,MISO, NRK_PORTB ) 125 NRK_PIN( GPIO26,4, NRK_PORTB ) 126 NRK_PIN( GPIO28,5, NRK_PORTB ) 127 128 //------------------------------- 129 // Port D 130 NRK_PIN( UART1_RXD,UART1_RXD, NRK_PORTD ) 131 NRK_PIN( UART1_TXD,UART1_TXD, NRK_PORTD ) 132 NRK_PIN( CCA,CCA, NRK_PORTD ) 133 NRK_PIN( SFD,SFD, NRK_PORTD ) 134 135 //------------------------------- 136 // Port E 137 NRK_PIN( UART0_RXD,UART0_RXD, NRK_PORTE ) 138 NRK_PIN( UART0_TXD,UART0_TXD, NRK_PORTE ) 139 NRK_PIN( LED_0,LED_0, NRK_PORTE ) 140 NRK_PIN( LED_1,LED_1, NRK_PORTE ) 141 NRK_PIN( LED_2,LED_2, NRK_PORTE ) 142 NRK_PIN( LED_3,LED_3, NRK_PORTE ) 143 NRK_PIN( GPIO34,GPIO34, NRK_PORTE ) 144 NRK_PIN( FIFOP, FIFOP, NRK_PORTE ) 145 146 147 //------------------------------- 148 // Port F 149 NRK_PIN( ADC_INPUT_0, ADC_INPUT_0, NRK_PORTF ) 150 NRK_PIN( ADC_INPUT_1, ADC_INPUT_1, NRK_PORTF ) 151 NRK_PIN( ADC_INPUT_2, ADC_INPUT_2, NRK_PORTF ) 152 NRK_PIN( ADC_INPUT_3, ADC_INPUT_3, NRK_PORTF ) 153 NRK_PIN( ADC_INPUT_4, ADC_INPUT_4, NRK_PORTF ) 154 NRK_PIN( ADC_INPUT_5, ADC_INPUT_5, NRK_PORTF ) 155 NRK_PIN( ADC_INPUT_6, ADC_INPUT_6, NRK_PORTF ) 156 NRK_PIN( ADC_INPUT_7, ADC_INPUT_7, NRK_PORTF ) 157 158 //------------------------------- 159 // GPIO handling functions 160 161 int8_t nrk_gpio_set(uint8_t pin) 162 { 163 if (pin == NRK_INVALID_PIN_VAL) return -1; 164 switch (pin & 0x07) { 165 case NRK_PORTA: 166 do { PORTA |= BM((pin & 0xF8) >> 3); } while(0); break; 167 case NRK_PORTB: 168 do { PORTB |= BM((pin & 0xF8) >> 3); } while(0); break; 169 case NRK_PORTC: 170 do { PORTC |= BM((pin & 0xF8) >> 3); } while(0); break; 171 case NRK_PORTD: 172 do { PORTD |= BM((pin & 0xF8) >> 3); } while(0); break; 173 case NRK_PORTE: 174 do { PORTE |= BM((pin & 0xF8) >> 3); } while(0); break; 175 case NRK_PORTF: 176 do { PORTF |= BM((pin & 0xF8) >> 3); } while(0); break; 177 default: return -1; 178 } 179 return 1; 180 } 181 182 int8_t nrk_gpio_clr(uint8_t pin) 183 { 184 if (pin == NRK_INVALID_PIN_VAL) return -1; 185 switch (pin & 0x07) { 186 case NRK_PORTA: 187 do { PORTA &= ~BM((pin & 0xF8) >> 3); } while(0); break; 188 case NRK_PORTB: 189 do { PORTB &= ~BM((pin & 0xF8) >> 3); } while(0); break; 190 case NRK_PORTC: 191 do { PORTC &= ~BM((pin & 0xF8) >> 3); } while(0); break; 192 case NRK_PORTD: 193 do { PORTD &= ~BM((pin & 0xF8) >> 3); } while(0); break; 194 case NRK_PORTE: 195 do { PORTE &= ~BM((pin & 0xF8) >> 3); } while(0); break; 196 case NRK_PORTF: 197 do { PORTF &= ~BM((pin & 0xF8) >> 3); } while(0); break; 198 default: return -1; 199 } 200 return 1; 201 } 202 203 int8_t nrk_gpio_get(uint8_t pin) 204 { 205 if (pin == NRK_INVALID_PIN_VAL) return -1; 206 switch (pin & 0x07) { 207 case NRK_PORTA: 208 return (PINA & BM((pin & 0xF8) >> 3)); 209 case NRK_PORTB: 210 return (PINB & BM((pin & 0xF8) >> 3)); 211 case NRK_PORTC: 212 return (PINC & BM((pin & 0xF8) >> 3)); 213 case NRK_PORTD: 214 return (PIND & BM((pin & 0xF8) >> 3)); 215 case NRK_PORTE: 216 return (PINE & BM((pin & 0xF8) >> 3)); 217 case NRK_PORTF: 218 return (PINF & BM((pin & 0xF8) >> 3)); 219 default: return -1; 220 } 221 return 1; 222 } 223 224 int8_t nrk_gpio_toggle(uint8_t pin) 225 { 226 if (pin == NRK_INVALID_PIN_VAL) return -1; 227 switch (pin & 0x07) { 228 case NRK_PORTA: 229 if ((PINA & BM((pin & 0xF8) >> 3)) == 0) { 230 do { PORTA |= BM((pin & 0xF8) >> 3); } while(0); 231 } else { 232 do { PORTA &= ~BM((pin & 0xF8) >> 3); } while(0); 233 } 234 break; 235 case NRK_PORTB: 236 if ((PINB & BM((pin & 0xF8) >> 3)) == 0) { 237 do { PORTB |= BM((pin & 0xF8) >> 3); } while(0); 238 } else { 239 do { PORTB &= ~BM((pin & 0xF8) >> 3); } while(0); 240 } 241 break; 242 case NRK_PORTC: 243 if ((PINC & BM((pin & 0xF8) >> 3)) == 0) { 244 do { PORTC |= BM((pin & 0xF8) >> 3); } while(0); 245 } else { 246 do { PORTC &= ~BM((pin & 0xF8) >> 3); } while(0); 247 } 248 break; 249 case NRK_PORTD: 250 if ((PIND & BM((pin & 0xF8) >> 3)) == 0) { 251 do { PORTD |= BM((pin & 0xF8) >> 3); } while(0); 252 } else { 253 do { PORTD &= ~BM((pin & 0xF8) >> 3); } while(0); 254 } 255 break; 256 case NRK_PORTE: 257 if ((PINE & BM((pin & 0xF8) >> 3)) == 0) { 258 do { PORTE |= BM((pin & 0xF8) >> 3); } while(0); 259 } else { 260 do { PORTE &= ~BM((pin & 0xF8) >> 3); } while(0); 261 } 262 break; 263 case NRK_PORTF: 264 if ((PINF & BM((pin & 0xF8) >> 3)) == 0) { 265 do { PORTF |= BM((pin & 0xF8) >> 3); } while(0); 266 } else { 267 do { PORTF &= ~BM((pin & 0xF8) >> 3); } while(0); 268 } 269 break; 270 default: return -1; 271 } 272 return 1; 273 } 274 275 int8_t nrk_gpio_direction(uint8_t pin, uint8_t pin_direction) 276 { 277 if (pin == NRK_INVALID_PIN_VAL) return -1; 278 if (pin_direction == NRK_PIN_INPUT) { 279 switch (pin & 0x07) { 280 case NRK_PORTA: 281 DDRA &= ~BM((pin & 0xF8) >> 3); 282 PORTA |= BM((pin & 0xF8) >> 3); 283 break; 284 case NRK_PORTB: 285 DDRB &= ~BM((pin & 0xF8) >> 3); 286 PORTB |= BM((pin & 0xF8) >> 3); 287 break; 288 case NRK_PORTC: 289 DDRC &= ~BM((pin & 0xF8) >> 3); 290 PORTB |= BM((pin & 0xF8) >> 3); 291 break; 292 case NRK_PORTD: 293 DDRD &= ~BM((pin & 0xF8) >> 3); 294 PORTB |= BM((pin & 0xF8) >> 3); 295 break; 296 case NRK_PORTE: 297 DDRE &= ~BM((pin & 0xF8) >> 3); 298 PORTB |= BM((pin & 0xF8) >> 3); 299 break; 300 case NRK_PORTF: 301 DDRF &= ~BM((pin & 0xF8) >> 3); 302 PORTB |= BM((pin & 0xF8) >> 3); 303 break; 304 default: return -1; 305 } 306 } else { 307 switch (pin & 0x07) { 308 case NRK_PORTA: 309 DDRA |= BM((pin & 0xF8) >> 3); break; 310 case NRK_PORTB: 311 DDRB |= BM((pin & 0xF8) >> 3); break; 312 case NRK_PORTC: 313 DDRC |= BM((pin & 0xF8) >> 3); break; 314 case NRK_PORTD: 315 DDRD |= BM((pin & 0xF8) >> 3); break; 316 case NRK_PORTE: 317 DDRE |= BM((pin & 0xF8) >> 3); break; 318 case NRK_PORTF: 319 DDRF |= BM((pin & 0xF8) >> 3); break; 320 default: return -1; 321 } 322 } 323 return 1; 324 } 325 326 int8_t nrk_get_button(uint8_t b) 327 { 328 if(b==0) { 329 return( !(PINA & BM(BUTTON))); 330 } 331 return -1; 332 } 333 334 int8_t nrk_led_toggle( int led ) 335 { 336 if(led==0) { nrk_gpio_toggle(NRK_LED_0); return 1; } 337 if(led==1) { nrk_gpio_toggle(NRK_LED_1); return 1; } 338 if(led==2) { nrk_gpio_toggle(NRK_LED_2); return 1; } 339 if(led==3) { nrk_gpio_toggle(NRK_LED_3); return 1; } 340 return -1; 341 } 342 343 int8_t nrk_led_clr( int led ) 344 { 345 if(led==0) { nrk_gpio_set(NRK_LED_0); return 1; } 346 if(led==1) { nrk_gpio_set(NRK_LED_1); return 1; } 347 if(led==2) { nrk_gpio_set(NRK_LED_2); return 1; } 348 if(led==3) { nrk_gpio_set(NRK_LED_3); return 1; } 349 return -1; 350 } 351 352 int8_t nrk_led_set( int led ) 353 { 354 if(led==0) { nrk_gpio_clr(NRK_LED_0); return 1; } 355 if(led==1) { nrk_gpio_clr(NRK_LED_1); return 1; } 356 if(led==2) { nrk_gpio_clr(NRK_LED_2); return 1; } 357 if(led==3) { nrk_gpio_clr(NRK_LED_3); return 1; } 358 return -1; 162 359 } 163 360 … … 200 397 } 201 398 399 void setup_uart1(uint16_t baudrate) 400 { 401 //INIT_UART1( UART_BAUDRATE_115K2, (UART_OPT_NO_PARITY|UART_OPT_8_BITS_PER_CHAR|UART_OPT_ONE_STOP_BIT)); 402 INIT_UART1( baudrate, (UART_OPT_NO_PARITY|UART_OPT_8_BITS_PER_CHAR|UART_OPT_ONE_STOP_BIT)); 403 ENABLE_UART1(); 404 } 202 405 203 406 /** … … 219 422 stdin = fdevopen( putc1, getc1); 220 423 #ifdef NRK_UART_BUF 424 uart_rx_signal=nrk_signal_create(); 425 if(uart_rx_signal==NRK_ERROR) nrk_error_add(NRK_SIGNAL_CREATE_ERROR); 221 426 uart_rx_buf_start=0; 222 427 uart_rx_buf_end=0; … … 226 431 } 227 432 228 void setup_uart1(uint16_t baudrate)229 {230 //INIT_UART1( UART_BAUDRATE_115K2, (UART_OPT_NO_PARITY|UART_OPT_8_BITS_PER_CHAR|UART_OPT_ONE_STOP_BIT));231 INIT_UART1( baudrate, (UART_OPT_NO_PARITY|UART_OPT_8_BITS_PER_CHAR|UART_OPT_ONE_STOP_BIT));232 ENABLE_UART1();233 }234 433 235 434
Note: See TracChangeset
for help on using the changeset viewer.
