|
用的是《轻松玩转ARM Cortex-m4微控制器--基于kinetis k60》的UART代码,只是把串口3改为串口1,没有输出。
跟进去可以看到代码执行了,就是没输出!求用过的大神指点一下,小弟感激不尽!
下面上代码:
void main()
{
char ch=0xaa;
led_init(LED0); //初始化LED0
led_init(LED1); //初始化LED1
gpio_init (PTB3, GPO,0);
uatr_rt_en(UART0_TX_EN);
// DELAY_MS(10);
printf("\n野火初学123论坛:www.chuxue123.com"); //uart_init(UART0,115200); //初始化串口(由于 printf 函数 所用的端口就是 UART3,已经初始化了,因此此处不需要再初始化)
//uart_init(UART0,115200); //初始化串口(由于 printf 函数 所用的端口就是 UART3,已经初始化了,因此此处不需要再初始化)
uart_putstr (UART0 , "\n\n\n接受数据,并进行发送:"); //发送字符串
uatr_rt_en(UART0_TX_EN);
while(1)
{
/* if(uart_query(UART0) != 0) //查询是否接收到数据
{
uart_getchar (UART0,&ch); //等待接收一个数据,保存到 ch里
uatr_rt_en(UART0_TX_EN);
DELAY_MS(10);
uart_putchar(UART0, ch); //发送1个字节
printf("\n野火初学123论坛:www.chuxue123.com");
DELAY_MS(10);
uatr_rt_en(UART0_RX_EN);
led(LED0, LED_ON); //LED0 亮
led_turn(LED1);
}
if(uart_querychar (UART0, &ch) != 0) //查询接收1个字符
{
uatr_rt_en(UART0_TX_EN);
DELAY_MS(10);
uart_putchar(UART0, ch); //发送1个字节
DELAY_MS(10);
uatr_rt_en(UART0_RX_EN); //发送1个字节
led(LED0, LED_OFF); //LED0 灭
led_turn(LED1);
}*/
/*
uatr_rt_en(UARTn_TX_EN);
DELAY_MS(10);
uart_putchar(UART0, 3); //发送1个字节
DELAY_MS(10);
*/
//注:上面两个 if 的实现功能都是一样的。
//uart_getchar 和 uart_querychar 的区别在于 ,前者 需要等待接收到数据,后者查询是否接收到,接收到就接收,接收不到就退出
led(LED0, LED_ON); //LED0 亮
led_turn(LED1); //LED1翻转
//uatr_rt_en(UART0_TX_EN);
DELAY_MS(500);
//延时500ms
uart_putchar(UART0,'A');
// uart_putstr (UART0 , "\n\n\n接受数据,并进行发送:"); //发送字符串
//uatr_rt_en(UART0_RX_EN);
led(LED0, LED_OFF); //LED0 灭
led_turn(LED1); //LED1翻转
DELAY_MS(500);
}
还有另外一处更改
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|