T K
/
testuC_raw
fertiges programm
Fork of testuC by
Revision 3:62a65ac86473, committed 2016-01-12
- Comitter:
- thorb3n
- Date:
- Tue Jan 12 17:02:25 2016 +0000
- Parent:
- 2:0b023bf05e0d
- Commit message:
- fertig, pins angepasst,reihenfolge angepasst
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 0b023bf05e0d -r 62a65ac86473 main.cpp --- a/main.cpp Tue Jan 05 15:12:38 2016 +0000 +++ b/main.cpp Tue Jan 12 17:02:25 2016 +0000 @@ -3,40 +3,29 @@ #define IWDG_START 0x0000CCCC #define IWDG_WRITE_ACCESS 0x00005555 #define IWDG_PR_PR_0 7 -#define IWDG_RELOAD 512*100 +#define IWDG_RELOAD 200000 #define IWDG_REFRESH 0xAAAA -Serial pc(USBTX, USBRX); // tx, rx +DigitalOut vcc_funk(PB_8); // Pin vcc funk modul +#define TRANSFER_SIZE 2 -nRF24L01P my_nrf24l01p(D4,D5,D3,D10,D8,D9); // mosi, miso, sck, csn, ce, irq int main() -{ -// +{ // pLATHALTER FÜR ANSHCALTEN ÜBER GPIO // - -// The nRF24L01+ supports transfers from 1 to 32 bytes, but Sparkfun's -// "Nordic Serial Interface Board" (http://www.sparkfun.com/products/9019) -// only handles 4 byte transfers in the ATMega code. -#define TRANSFER_SIZE 2 + vcc_funk = 1; + wait_us(30); + nRF24L01P my_nrf24l01p(PB_5,PB_4,PB_3,PB_7,PD_2,PB_6); // mosi, miso, sck, csn, ce, irq - char txData[TRANSFER_SIZE], rxData[TRANSFER_SIZE]; + char txData[TRANSFER_SIZE]; int txDataCnt = 0; - int rxDataCnt = 0; my_nrf24l01p.powerUp(); my_nrf24l01p.setAirDataRate(250); my_nrf24l01p.setTxAddress(0xE7E7E7E7E1,5); my_nrf24l01p.setRxAddress(0xE7E7E7E7E7,5,0); - // Display the (default) setup of the nRF24L01+ chip - pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() ); - pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_nrf24l01p.getRfOutputPower() ); - pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() ); - pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() ); - pc.printf( "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() ); - - pc.printf( "Type keys to test transfers:\r\n (transfers are grouped into %d characters)\r\n", TRANSFER_SIZE ); + my_nrf24l01p.setTransferSize( TRANSFER_SIZE ); @@ -50,50 +39,11 @@ IWDG->PR=IWDG_PR_PR_0; IWDG->RLR=IWDG_RELOAD; while(IWDG->SR) { - wait(0.1); + wait_ms(1); } my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt ); - wait(1); IWDG->KR=IWDG_REFRESH; /* (6) */ - pc.printf("go to sleep"); deepsleep(); while (1) { - - /* - // If we've received anything over the host serial link... - if ( pc.readable() ) { - - // ...add it to the transmit buffer - txData[txDataCnt++] = pc.getc(); - - // If the transmit buffer is full - if ( txDataCnt >= sizeof( txData ) ) { - - // Send the transmitbuffer via the nRF24L01+ - my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt ); - - txDataCnt = 0; - } - - // Toggle LED1 (to help debug Host -> nRF24L01+ communication) - // myled1 = !myled1; - } - - // If we've received anything in the nRF24L01+... - if ( my_nrf24l01p.readable() ) { - - // ...read the data into the receive buffer - rxDataCnt = my_nrf24l01p.read( NRF24L01P_PIPE_P0, rxData, sizeof( rxData ) ); - - // Display the receive buffer contents via the host serial link - for ( int i = 0; rxDataCnt > 0; rxDataCnt--, i++ ) { - - pc.putc( rxData[i] ); - } - - // Toggle LED2 (to help debug nRF24L01+ -> Host communication) - //myled2 = !myled2; - } - */ } }