打印
[技术问答]

这个例子怎么理解

[复制链接]
935|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhuotuzi|  楼主 | 2018-9-6 10:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zhuotuzi 于 2018-9-6 10:33 编辑

先看代码
#include "N76E003.h"
#include "SFR_Macro.h"
#include "Function_define.h"
#include "Common.h"
#include "Delay.h"


unsigned char temp _at_ 0x08;
unsigned char idata itemp _at_ 0x80;
unsigned char xdata xtemp _at_ 0x80;

/*==========================================================================*/
void main (void)
{
                InitialUART0_Timer3(115200);
          TI = 1;                              // Important, use prinft function must set TI=1;
        
                while(1)
                {
                        printf("\n Hello world");
                        Timer0_Delay1ms(300);
                }
}
另外还有一个文件
#include "N76E003.h"

/****************************************************************************/
/* Define putchar send from UART1, printf function will send from P1.6(TXD_1)
/* NOTICE: Since UART1 pin is multi-function with OCD DATA/CLK pin.
/* Suggest download than use run with realchip but not OCD mode.
/****************************************************************************/

/*
* putchar (mini version): outputs charcter only
*/
#if 0
char putchar (char c)
{
                while (!TI_1);  /* wait until transmitter ready */
                TI_1 = 0;
                SBUF_1 = c;      /* output character */
                return (c);
}
#else
char putchar (char c)  {
  while (!TI);
  TI = 0;
  return (SBUF = c);
}
#endif


沙发
zhuotuzi|  楼主 | 2018-9-6 10:32 | 只看该作者
TI_1 和TI是啥区别?怎么两个?

使用特权

评论回复
板凳
zhuotuzi|  楼主 | 2018-9-6 10:33 | 只看该作者
发现新唐的码农不用心啊,每个例子的开头介绍都一样,都是GPIO的介绍,坑爹,能否用点心。

使用特权

评论回复
地板
yediezeus| | 2018-9-6 11:09 | 只看该作者

使用特权

评论回复
5
yiyigirl2014| | 2018-9-6 18:53 | 只看该作者
应该是使用不同的端口。那个是预编译,你把0改成1就OK了,就可以来回切换端口。

使用特权

评论回复
6
捉虫天师| | 2018-9-6 19:35 | 只看该作者
默认的应该是串口0,另外一个配置应该是串口1

使用特权

评论回复
7
捉虫天师| | 2018-9-6 19:55 | 只看该作者
UINT8 Receive_Data_From_UART1(void)
{
    UINT8 c;
   
    while (!RI_1);
    c = SBUF_1;
    RI_1 = 0;
    return (c);
}

void Send_Data_To_UART1 (UINT8 c)
{
    TI_1 = 0;
    SBUF_1 = c;
    while(TI_1==0);
}

使用特权

评论回复
8
捉虫天师| | 2018-9-6 19:55 | 只看该作者
看串口的头文件就行了。

使用特权

评论回复
9
小灵通2018| | 2018-9-6 21:52 | 只看该作者
新唐的这个例子很好啊,几个端口都想到了。

使用特权

评论回复
10
xuanhuanzi| | 2018-9-8 23:19 | 只看该作者
重定向的应用。

使用特权

评论回复
11
xuanhuanzi| | 2018-9-9 18:54 | 只看该作者
测试了几下,现在掌握住方法了。

使用特权

评论回复
12
antusheng| | 2018-9-9 19:42 | 只看该作者
说句心里话,学会003吃喝不愁。

使用特权

评论回复
13
734774645| | 2018-9-10 22:29 | 只看该作者
还可以重定向到SPI呢。

使用特权

评论回复
14
heisexingqisi| | 2018-9-10 23:49 | 只看该作者
都是串口0,只是映射到不同管教。

使用特权

评论回复
15
jasontu| | 2018-9-12 09:09 | 只看该作者
N76E003有2个串口,寄存器後面有带_1, 表示串口1,没有则是串口0

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

197

主题

3263

帖子

7

粉丝