TM4C123单片机驱动nrf24l01源程序如下:
- #include <stdint.h>
- #include <stdbool.h>
- #include <inc/tm4c123gh6pm.h>
- #include "inc/hw_types.h"
- #include "inc/hw_memmap.h"
- #include "driverlib/sysctl.h"
- #include "driverlib/gpio.h"
- #include "driverlib/pwm.h"
- #include "driverlib/rom.h"
- #include "driverlib/pin_map.h"
- #include "driverlib/fpu.h"
- #include "driverlib/adc.h"
- #include "driverlib/uart.h"
- #include "driverlib/interrupt.h"
- #include "driverlib/timer.h"
- #include "Headfile.h"
- #include "driverlib/ssi.h"
- #include "driverlib/uart.h"
- #include "utils/uartstdio.h"
- #ifdef DEBUG
- void
- __error__(char *pcFilename, uint32_t ui32Line)
- {
- }
- #endif
- #define NUM_SSI_DATA 3
- void ConfigureUART(void)
- {
- SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
- SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);
- GPIOPinConfigure(GPIO_PA0_U0RX);
- GPIOPinConfigure(GPIO_PA1_U0TX);
- GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);
- UARTClockSourceSet(UART0_BASE, UART_CLOCK_PIOSC);
- //UARTStdioConfig(0, 115200, 16000000);
- }
- int main(void)
- {
- uint32_t pui32DataTx[NUM_SSI_DATA];
- uint32_t pui32DataRx[NUM_SSI_DATA];
- uint32_t ui32Index;
- FPULazyStackingEnable();
- SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_XTAL_16MHZ |SYSCTL_OSC_MAIN);
- // SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
- // GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_2);
- // ConfigureUART();
- // SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI0);
- // SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
- // GPIOPinConfigure(GPIO_PA2_SSI0CLK);
- // GPIOPinConfigure(GPIO_PA3_SSI0FSS);
- // GPIOPinConfigure(GPIO_PA4_SSI0RX);
- // GPIOPinConfigure(GPIO_PA5_SSI0TX);
- // GPIOPinTypeSSI(GPIO_PORTA_BASE, GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_3 | GPIO_PIN_2);
- // SSIConfigSetExpClk(SSI0_BASE, SysCtlClockGet(), SSI_FRF_TI, SSI_MODE_MASTER, 1000000, 8);
- // SSIEnable(SSI0_BASE);
- // while(SSIDataGetNonBlocking(SSI0_BASE, &pui32DataRx[0]))
- // {
- // }
- // //UARTprintf("......................\n\n");
- // pui32DataTx[0] = 'n';
- // pui32DataTx[1] = 'm';
- // pui32DataTx[2] = 'b';
- // //UARTprintf("Sent:\n ");
- // for(ui32Index = 0; ui32Index < NUM_SSI_DATA; ui32Index++)
- // {
- // //UARTprintf("'%c' ", pui32DataTx[ui32Index]);
- // SSIDataPut(SSI0_BASE, pui32DataTx[ui32Index]);
- // }
- // //UARTprintf("\nSend Success!\n ");
- NRF24L01_Init();
- while(NRF24L01_Check());
- while(1)
- {
- GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, GPIO_PIN_2);
- SysCtlDelay(SysCtlClockGet() / 10 / 3);
- GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, 0);
- SysCtlDelay(SysCtlClockGet() / 10 / 3);
- }
- }
复制代码
所有资料51hei提供下载:
11111111.zip
(213.83 KB, 下载次数: 17)
|