📄 iar-
字号:
/****************************************Copyright (c)****************************************************
** Guangzhou ZHIYUAN electronics Co.,LTD.
**
** http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File Name: Main.c
** Last modified Date: 2007.09.27
** Last Version: v1.0
** Description: 串口驱动主文件
**
**--------------------------------------------------------------------------------------------------------
** Created By: Zhou Shaogang
** Created date: 2007.09.27
** Version: v1.0
** Descriptions:
**
**--------------------------------------------------------------------------------------------------------
** Modified by: Ni Likao 倪力考
** Modified date: 2007.10.20
** Version: v1.1
** Description:
**
**--------------------------------------------------------------------------------------------------------
** Modified by: Kang qinhua
** Modified date: 2008.01.13
** Version: v1.2
** Description:
**
*********************************************************************************************************/
#include "config.h"
uint32 __uiUartTmr = 0;
/*********************************************************************************************************
** Function name: Timer1Init
** Descriptions: 定时器初始化函数,定时器1配置成32位周期定时器模式
** input parameters: 无
** output parameters: 无
** Returned value: 无
** Created By: Zhou Shaogang
** Created date: 2007.09.27
**--------------------------------------------------------------------------------------------------------
** Modified by: Ni Likao 倪力考
** Modified date: 2007.10.20
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void Timer1Init (uint32 ulTick, uint8 ucPrio)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER1); /* 使能定时器1系统外设 */
TimerConfigure(TIMER1_BASE, TIMER_CFG_32_BIT_PER); /* 设置定时器1为32位 */
TimerLoadSet(TIMER1_BASE, TIMER_A, ulTick); /* 设置中断周期 */
IntEnable(INT_TIMER1A); /* 使能定时器1系统中断 */
TimerIntEnable(TIMER1_BASE, TIMER_TIMA_TIMEOUT); /* 使能超时中断 */
IntPrioritySet(INT_TIMER1A, ucPrio); /* 设置中断优先级 */
TimerEnable(TIMER1_BASE, TIMER_A); /* 打开定时器1 */
}
/*********************************************************************************************************
** Function name: Timer1A_ISR
** Descriptions: 定时器中断服务函数,用作串口计时器
** 用KEIL软件时,在Startup.S中添加该中断函数名
** input parameters: 无
** output parameters: 无
** Returned value: 无
** Created By: Zhou Shaogang
** Created date: 2007.09.27
**--------------------------------------------------------------------------------------------------------
** Modified by: Ni Likao 倪力考
** Modified date: 2007.10.20
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void Timer1A_ISR (void)
{
__uiUartTmr++; /* 串口计时器加1 */
TimerIntClear(TIMER1_BASE, TIMER_TIMA_TIMEOUT); /* 清除中断标志 */
}
/*********************************************************************************************************
** Function name: main
** Descriptions: 该范例程序演示了如何使用UART功能上位机通过串口发来数据后,
系统再将数据回送到上位机. 其中数据队列的引入方便对更多数据的操作.
** input parameters: 无
** output parameters: 无
** Returned value: 无
** Created By: Zhou Shaogang
** Created date: 2007.09.27
**--------------------------------------------------------------------------------------------------------
** Modified by: Ni Likao 倪力考
** Modified date: 2007.10.20
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
int main (void)
{
uint32 i;
ucBit = 0;
for (i = 0; i < 0x000FFFF; i++) { /* 复位消颤 */
;
}
SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
SYSCTL_XTAL_6MHZ); /* 系统时钟从6MHz晶振直接引入 */
IntMasterEnable(); /* 使能全局中断 */
Uart0Init(115200, 1); /* 初始化串口0,波特率115200, */
/* 中断优先级为1 */
while (1) {
while (ucBit) {
Uart0Send(ucBuffer, ucNum); /* 回发数据 */
ucBit = 0; /* 清发送标志 */
ucNum = 0; /* 清数据个数 */
}
}
}
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -