实验室的MCU项目中主要核心CPU使用的是Cortex M3 ,就此学习嵌入式工作组的头文件以及一些函数学习,作为自己嵌入式学习的入门,持之以恒,目标明年7月找工作之前能够比较熟悉的掌握了解嵌入式开发。
首先main.c一个简单的函数:
int main(void)
{
// BSP_LED_Init();
// delay_init();
// u8 flag = true;
// tim0_cnt = 0;
example_uart();
// tim_nvic_init(1); // 定时 1ms
while(1)
{
// OpenLED();
// delay_ms(1000);
// CloseLED();
// delay_ms(1000);
}
}
可以看到主函数main.c内只有一个example_uart的函数,这是一个uart中断的例程函数。
进入这个可以看见在头文件中声明了以下几组函数:
#ifndef __BSP_UART_H
#define __BSP_UART_H
#include “type.h”
// 定义最大接收字节数 200
#define UART_REC_LEN 200
///
#ifdef BSP_UART_C
#define GLOBAL
#else
#define GLOBAL extern
#endif
// 接收状态标记
GLOBAL u16 UART_RX_STA;
// 接收缓冲,最大 UART_REC_LEN 个字节
GLOBAL u8 UART_RX_BUF[UART_REC_LEN];
GLOBAL char printBuf[100];
#undef GLOBAL
void UartSendByte(u8 dat);
void UartSendGroup(u8* buf,u16 len);
void uart_nvic_init(u32 bound);
void example_uart();
进入example_uart ()函数体:
void example_uart()
{
u8 t, len;
u16 times = 0;
u8 tog;
delay_init();
BSP_LED_Init();
LED0_on();
LED0_off();
/*串口初始化为9600*/
uart_nvic_init(9600);
while(1)
{
if(UART_RX_STA & 0x8000)
{