主题中讨论的其他器件:CC1190、 TRF37D73
函数 : main()
注 : 调用所有初始化过程
秘书长的报告 /
{
/*调用驱动程序初始化函数*/
NoRTOS_Config 配置;
NoRTOS_getconfig (&config);
config.idleCallback = Power_idleFunc;
NoRTOS_setConfig (&config);
NoRTOS_START();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*
* ==== Board_init ====
* 在使用任何板 API 之前执行所需的任何初始化
*
void Board_init (void)
{
/*===/ti/drivers/Power 初始化===*/
power_init();
if (PIN_init (BoardGpioInitTable)!= PIN_SUCCESS){
/* PIN_init 错误*/
while (1);
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
* ========================================= Pin ========================================================
*
#include
CONFIG_PIN_CC1190_HGM | PIN_GPIO_OUTP_EN | PIN_GPIO_HIGH | PIN_PushPull | PIN_DRVSTR_MED、
// DIO6:CC1190 LNA_EN
CONFIG_PIN_CC1190_LNA_EN | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MED、
// DIO7:CC1190 PA_EN
CONFIG_PIN_CC1190_PA_EN | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MED、
// DIO8:SPI MISO
CONFIG_PIN_SPI_MISO | PIN_INPUT_EN | PIN_NOPULL | PIN_IRQ_DIS、
// DIO9:SPI MOSI
CONFIG_PIN_SPI_MOSI | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MED、
// DIO10:SPI CLK
CONFIG_PIN_SPI_CLK | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MED、
// DIO11:SPI CS
CONFIG_PIN_SPI_CS | PIN_GPIO_OUTP_EN | PIN_GPIO_HIGH | PIN_PushPull | PIN_DRVSTR_MED、
// DIO12:UART0 RX
CONFIG_PIN_UART0_RX | PIN_INPUT_EN | PIN_PULLDOWN | PIN_IRQ_BOTHEDGES、
// DIO13:UART0 TX
CONFIG_PIN_UART0_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PushPull | PIN_DRVSTR_MAX、
// DIO14:PH0_ARM_Transc PH0_ARM_Tran_P1.1 >> P1.1输入
CONFIG_PIN_PH0_ARM_Transc | PIN_INPUT_EN | PIN_NOPULL | PIN_IRQ_POedge、//检查机架1和2的配置是否正常
CONFIG_PIN_PWDN | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MED、
// DIO16:LED_TX_ON
CONFIG_PIN_LED_TX_ON | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MED、
// DIO17:LED_RX_ON
CONFIG_PIN_LED_RX_ON | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MED、
// DIO18:V1_ON
CONFIG_PIN_V1_ON | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MED、
// DIO19:v2_on
CONFIG_PIN_V2_ON | PIN_GPIO_OUTP_EN | PIN_GPIO_HIGH | PIN_PushPull | PIN_DRVSTR_MED、
// DIO20:P32_TO_PM_4567不用于机架1和2
CONFIG_PIN_P32_TO_PM_4567 | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MAX、
// DIO21:P31_TO_PN_0123不用于机架1和2
CONFIG_PIN_P31_TO_PM_0123 | PIN_GPIO_OUTP_EN | PIN_GPIO_HIGH | PIN_PushPULL| PIN_DRVSTR_MED、
// DIO22:P26_TO_PA0/PB2/PD6/PE1
CONFIG_PIN_P26_TO_PA0_PB2_PD6_PE1 | PIN_INPUT_EN | PIN_NOPULL | PIN_IRQ_POedge、
// DIO23:
CONFIG_PIN_DIO23 | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MED、
// DIO24:
CONFIG_PIN_DIO24 | PIN_INPUT_EN | PIN_NOPULL、
// DIO25:
CONFIG_PIN_DIO25 | PIN_INPUT_EN | PIN_NOPULL、
// DIO26:
CONFIG_PIN_DIO26 | PIN_INPUT_EN | PIN_NOPULL、
// DIO27:
CONFIG_PIN_DIO27 | PIN_INPUT_EN | PIN_NOPULL、
// DIO28:RF_2G4
// CONFIG_PIN_RF_2G4 | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MAX
// DIO29:RF_PA
// CONFIG_PIN_RF_PA | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MAX,
// DIO30:RF_SUB1G
// CONFIG_PIN_RF_SUB1G | PIN_GPIO_OUTP_EN | PIN_GPIO_HIGH | PIN_PushPull | PIN_DRVSTR_MAX,
};
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void halUARTSetup (void)(空)
UART_Handle UART;
UART_Params uartParams;
HWREG (UART0_BASE + UART_O_CTL)= 0x00000000;/UART 禁用
uartParams.writeDataMode = UART_DATA_BINARY;
uartParams.readDataMode = UART_DATA_BINARY;
uartParams.readReturnMode = UART_return_full;
uartParams.baudrate = 9600;
UART = UART_OPEN (CONFIG_UART_0、uartParams);//CONFIG_PIN_UART0_RX
HWREG (UART0_BASE + UART_O_IFL)= 0x00000000;// UART_IFLs_RXSEL_1_8;//FIFO THESHOLD 1/2/4/6/7
HWREG (UART0_BASE + UART_O_LCRH) |= UART_LCRH_Fen;//FIFO 使能:请勿删除
HWREG (UART0_BASE + UART_O_IMSC) |= UART_IMSC_OEIM | UART_IMSC_BEIM | UART_IMSC_RXIM | UART_IMSC_RTIM;
if (UART == NULL){
// UART_open()失败
while (1);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// :
void * mainThread (void * arg0)
unsigned char a;
Broad _cast = 0;
对于(A=0;A<255;A++) RxBuffer[A]=A;
IntEnable (INT_UART0_comb);
UARTIntEnable (UART0_BASE、UART_INT_be | UART_INT_RT | UART_INT_RX);
/*** DIO22中断***/
HWREG (IOC_BASE + IOC_O_IOCFG22)|= IOC_IOCFG22_EDGE_IRQ_EN | IOC_IOCFG22_EDGET_DET_Both;
IntEnable (INT_AON_GPIO_EDGE);
Tree_UART_Datagram ();//OK 正常工作
UART0_INT_DETECT = 0;
IntMasterEnable();
}
}
TOGGLE_DIO23();
}//end of "while (1)"(while (1)"结束)
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#pragma DATA_SECTION (g_pfnVectors、".intvecs")
void (* const g_pfnVectors [])(void)=
{
(void (*)(void)((unsigned long)&_stack_end)、
// 0初始堆栈指针
ResetISR、 // 1复位处理程序
NmiSR、 // 2 NMI 处理程序
FaultISR、 // 3硬故障处理程序
IntDefaultHandler、 // 4内存管理(MemManage)故障
IntDefaultHandler、 // 5总线故障处理程序
IntDefaultHandler、 // 6用法故障处理程序
0、 // 7保留
0、 // 8保留
0、 // 9保留
0、 // 10保留
IntDefaultHandler、 // 11 Supervisor 调用(SVCall)
IntDefaultHandler、 // 12调试监视器处理程序
0、 // 13保留
IntDefaultHandler、 // 14 PendSV 处理程序
IntDefaultHandler、 // 15 SysTick 处理程序
//--外部中断--
IntDefaultHandler、 // 16 AON 边沿检测
//Toggle_green_LED、 // 16 AON 边沿检测
IntDefaultHandler、 // 17 I2C
IntDefaultHandler、 // 18射频内核命令和数据包引擎1.
IntDefaultHandler、 // 19 PKA 中断事件
IntDefaultHandler、 // 20 AON RTC
IntDefaultHandler、 // 21 UART0 Rx 和 Tx
// SET_UART0_INT_DETIT_VAR、 // 21 UART0 Rx 和 Tx
// Toggle_DIO23、 // 21 UART0 Rx 和 Tx
IntDefaultHandler、 // 22 AUX 软件事件0