软件环境ccs,每一个小实验备注了说明,其他环境(keil5/IAR等等)可拷贝BSP加入自己工程中
包含基本的io输入输出,滴答定时器,串口实验,ADC实验,定时器功能实验。
部分代码展示如下
uart.c中
#include <uart.h> // 0117
/*=================================UART结构体参数配置(9600)====================================*/
/*注:波特率的设置与时钟频率有关,这里配置的时钟为12Mhz,若时钟为24Mhz则配置波特率的时钟参数则将发生变化,具体参考技术应用手册*/
//#define Baud //将该段注释掉波特率设置为115200否则波特率为9600
#ifdef Baud
/*==============Baud 9600====12MHZ=================================*/
const eUSCI_UART_ConfigV1 uartConfig =
{
EUSCI_A_UART_CLOCKSOURCE_SMCLK, // SMCLK Clock Source
78, // BRDIV = 78
2, // UCxBRF = 2
0, // UCxBRS = 0
EUSCI_A_UART_NO_PARITY, // No Parity
EUSCI_A_UART_LSB_FIRST, // LSB First
EUSCI_A_UART_ONE_STOP_BIT, // One stop bit
EUSCI_A_UART_MODE, // UART mode
EUSCI_A_UART_OVERSAMPLING_BAUDRATE_GENERATION, // Oversampling
EUSCI_A_UART_8_BIT_LEN // 8 bit data length
};
#else
/*================Baud 115200==========12MHZ===========================*/
const eUSCI_UART_ConfigV1 uartConfig =
{
EUSCI_A_UART_CLOCKSOURCE_SMCLK, // SMCLK Clock Source
6, // BRDIV = 6
8, // UCxBRF = 8
0x20, // UCxBRS = 0x20
EUSCI_A_UART_NO_PARITY, // No Parity
EUSCI_A_UART_MSB_FIRST, // MSB First
EUSCI_A_UART_ONE_STOP_BIT, // One stop bit
EUSCI_A_UART_MODE, // UART mode
EUSCI_A_UART_OVERSAMPLING_BAUDRATE_GENERATION, // Oversampling
EUSCI_A_UART_8_BIT_LEN // 8 bit data length
};
#endif
/*================================================================================================*/
/*====================================UART1初始化=====12Mhz=============================================*/
void Uart_Init(void) //P1.2--RX P1.3--TX
{
GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P1,\
GPIO_PIN2 | GPIO_PIN3, GPIO_PRIMARY_MODULE_FUNCTION); /* Selecting P1.2 and P1.3 in UART mode */
CS_setDCOCenteredFrequency(CS_DCO_FREQUENCY_12); /* Setting DCO to 12MHz 将DOC设置为12Mhz */
UART_initModule(EUSCI_A0_BASE, &uartConfig); /* Configuring UART Module */
UART_enableModule(EUSCI_A0_BASE); /* Enable UART module */
/* Enabling interrupts */
UART_enableInterrupt(EUSCI_A0_BASE, EUSCI_A_UART_RECEIVE_INTERRUPT);
Interrupt_enableInterrupt(INT_EUSCIA0);
Interrupt_enableSleepOnIsrExit();
Interrupt_enableMaster();
}
/*================================================================================================*/
/*===================================UART2初始化=======12Mhz=============================================*/
void Uart2_Init(void) //P3.2--RX P3.3--TX
{
GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P3,\
GPIO_PIN2 | GPIO_PIN3, GPIO_PRIMARY_MODULE_FUNCTION); /* Selecting P1.2 and P1.3 in UART mode */
CS_setDCOCenteredFrequency(CS_DCO_FREQUENCY_12); /* Setting DCO to 12MHz 将DOC设置为12Mhz */
UART_initModule(EUSCI_A2_BASE, &uartConfig); /* Configuring UART Module */
UART_enableModule(EUSCI_A2_BASE); /* Enable UART module */
/* Enabling interrupts */
UART_enableInterrupt(EUSCI_A2_BASE, EUSCI_A_UART_RECEIVE_INTERRUPT);
Interrupt_enableInterrupt(INT_EUSCIA2);
Interrupt_enableSleepOnIsrExit();
Interrupt_enableMaster();
}
/*================================================================================================*/
提取码:qq:2995560796获取