为什么K60的串口发送都是乱码,都设置好了(已解决)
本帖最后由 FSL_TICS_ZJJ 于 2014-2-19 09:51 编辑#include "uart.h"
#include "lptmr.h"
#include "gpio.h"
#define h 2
#define l 1
uint8 getphoto={{1},{2}};
void getp()
{
int i=0;
for(;i<h;i++)
{
for(int j=0;j<l;j++)
uart_putchar(UART1,getphoto);
uart_putchar(UART1,'\n');
}
}
void main()
{
gpio_init(PORTE,0,GPO,HIGH);
uart_init(UART1,9600);
// getp();
uart_sendStr (UART1,"uart_str");
// printf("串口实验");
while(1)
{
gpio_set(PORTE,0,LOW);
time_delay_ms(50);
gpio_set(PORTE,0,HIGH);
time_delay_ms(50);
} 先用我们的例程测试一下是否硬件问题。另外,用支持中文显示的串口助手,例如单片机多功能调试助手PortHelper.exe 另外,我们默认的程序,在main函数前,已经设置了串口输出为URAT1,波特率为 19200,在k60_fire.h里修改……而在main函数前,我们会输出一下单片机信息,如果你的串口助手设置波特率为9600,会显示乱码……如果你是要用UART1,建议按照我们的教程说的去做,修改k60_fire.h,另外在main函数里不需要再初始化 fire 发表于 2012-8-12 19:54 static/image/common/back.gif
另外,我们默认的程序,在main函数前,已经设置了串口输出为URAT1,波特率为 19200,在k60_fire.h里修改… ...
#include "uart.h"
#include "lptmr.h"
#include "gpio.h"
#define h 2
#define l 1
uint8 getphoto={{1},{2}};
void getp()
{
int i=0;
for(;i<h;i++)
{
for(int j=0;j<l;j++)
uart_putchar(UART1,getphoto);
uart_putchar(UART1,'\n');
}
}
void main()
{
gpio_init(PORTE,0,GPO,HIGH);
uart_init(UART1,19200);
uart_sendStr (UART1,"uart_str");
while(1)
{
gpio_set(PORTE,0,LOW);
time_delay_ms(50);
gpio_set(PORTE,0,HIGH);
time_delay_ms(50);
}
}
都改了,还是有很多乱码 fire 发表于 2012-8-12 19:54 static/image/common/back.gif
另外,我们默认的程序,在main函数前,已经设置了串口输出为URAT1,波特率为 19200,在k60_fire.h里修改… ...
火哥 用你们的程序在飞思卡尔大赛上不会被禁赛吧……允许用你开发的库么? ~just_yy 发表于 2012-8-12 23:21 static/image/common/back.gif
火哥 用你们的程序在飞思卡尔大赛上不会被禁赛吧……允许用你开发的库么? ...
今年很多队伍都是用了野火的K60最小系统,用我们的库有啥问题啊,不会有问题的啊 我看很多都要求自主的程序什么的 有点担心~ 的确如2楼所述,调试应该要把问题分开,否则根本不知道问题出在硬件还是软件。
建议你先单独测试下串口发送是否可行。
如果你有示波器也可以直接量下波特率是否准确 那请问默认设置是在哪个子文件里知道? ping3335 发表于 2014-2-18 14:26
那请问默认设置是在哪个子文件里知道?
不知道你所谓的默认设置是什么设置?
你指的是uart吗?
这个你可以去CPU文件夹下的sysinit.C中sysinit函数查看,具体波特率,可以查看相关头文件,上面野火也讲了。 好的,就是在sysinit.C里。 ping3335 发表于 2014-2-19 11:03
好的,就是在sysinit.C里。
嗯,你可以好好看看start.c,那里讲解了整个的启动程序。
如果以后在使用的过程中遇到问题,欢迎发问题贴哦!
页:
[1]