小弟 用LM3S9L97 DIY了一块板子 现在led能闪烁了 , 但是现在弄到串口时 不知怎么回事 就是发送不出去数据! 求高手指点。。下面附上程序和 串口模块原理图
/*****main.c*****/
#include"systemInit.h"
#include"uartGetPut.h"
#include<stdio.h>
#define LED_PERIPH SYSCTL_PERIPH_GPIOD //led 定义值
#define LED_PORT GPIO_PORTD_BASE
#define LED_PIN GPIO_PIN_0
int main(void)
{
char s[40];
jtagWait();
clockInit();
SysCtlPeripheralEnable(LED_PERIPH); //led初始化
GPIOPinTypeOut(LED_PORT,LED_PIN);
uartInit(); //uart初始化
for(;;)
{
sprintf(s,"hello,world!
"); //uart发送
uartPuts(s);
sprintf(s,"23456=0x%X
",23456);
uartPuts(s);
uartPuts("heihei!
");
GPIOPinWrite(LED_PORT,LED_PIN,0x00); //LED闪烁
SysCtlDelay(850*(TheSysClock/3000));
GPIOPinWrite(LED_PORT,LED_PIN,0xFF);
SysCtlDelay(150*(TheSysClock/3000));
}
}
/**********uartGetPut.c**********/
#include"uartGetPut.h"
#include<inc/hw_types.h>
#include<inc/hw_memmap.h>
#include<driverlib/sysctl.h>
#include<driverlib/gpio.h>
#include<driverlib/uart.h>
#include<ctype.h>
//UART初始化
void uartInit(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);
GPIOPinTypeUART(GPIO_PORTA_BASE,GPIO_PIN_0|GPIO_PIN_1);
UARTConfigSet(UART0_BASE,9600,UART_CONFIG_WLEN_8|UART_CONFIG_STOP_ONE|UART_CONFIG_PAR_NONE);
UARTEnable(UART0_BASE);
}
//通过UART发送一个字符
void uartPutc(const char c)
{
UARTCharPut(UART0_BASE,c);
}
//通过UART发送字符串
void uartPuts(const char *s)
{
while(*s !=' ')
uartPutc(*(s++));
}
另外 我的 串口 连的是PA0 PA1引脚
现在 小灯能闪烁
此帖出自
小平头技术问答
建议你使用TI的例程。
一周热门 更多>