打印
[技术问答]

新塘单片机N76E003 官方demo的使用问题

[复制链接]
2551|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1183584502|  楼主 | 2018-2-23 17:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一次使用这款单片机,将官方的UART0 程序下载进去,接受波特率和程序中设置是一样的,为何会出现接收数据乱码的问题。接受到的和发送的完全对不上。该如何查找问题源头?
沙发
09kk小熊| | 2018-2-24 10:39 | 只看该作者
demo程序应该没有问题的,发送和接收短接,或者加我

使用特权

评论回复
板凳
734774645| | 2018-2-24 11:40 | 只看该作者
示波器看看波形是啥情况。

使用特权

评论回复
地板
玛尼玛尼哄| | 2018-2-24 18:43 | 只看该作者
没遇到乱码的问题,看看是不是不一致,或者设置的格式不一致。

使用特权

评论回复
5
小明的同学| | 2018-2-25 13:51 | 只看该作者
应该不会有问题,那么多人都用过

使用特权

评论回复
6
xuanhuanzi| | 2018-2-25 20:02 | 只看该作者
官方的例子原封不动的下载进去也不行?

使用特权

评论回复
7
xinxianshi| | 2018-2-26 18:19 | 只看该作者
解决了吧,怎么也不说一声为何

使用特权

评论回复
8
xixi2017| | 2018-2-26 20:20 | 只看该作者
换最新版试试

使用特权

评论回复
9
xixi2017| | 2018-2-26 20:20 | 只看该作者
官方的BSP最近更新了。

使用特权

评论回复
10
稳稳の幸福| | 2018-2-26 21:28 | 只看该作者
/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* Copyright(c) 2017 Nuvoton Technology Corp. All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/

//***********************************************************************************************************
//  Nuvoton Technoledge Corp.
//  Website: http://www.nuvoton.com
//  E-Mail : MicroC-8bit@nuvoton.com
//  Date   : Apr/21/2017
//***********************************************************************************************************

//***********************************************************************************************************
//  File Function: N76E003 UART-0 Mode1 demo code
//***********************************************************************************************************
#include "N76E003.h"
#include "Common.h"
#include "Delay.h"
#include "SFR_Macro.h"
#include "Function_define.h"

/******************************************************************************
* FUNCTION_PURPOSE: Serial interrupt, echo received data.
* FUNCTION_INPUTS : P0.7(RXD) serial input
* FUNCTION_OUTPUTS: P0.6(TXD) serial output
* Following setting in Common.c
******************************************************************************/
#if 0
//void InitialUART0_Timer1(UINT32 u32Baudrate)    //T1M = 1, SMOD = 1
//{
//                P06_Quasi_Mode;               
//                P07_Quasi_Mode;
//       
//    SCON = 0x52;     //UART0 Mode1,REN=1,TI=1
//    TMOD |= 0x20;    //Timer1 Mode1
//   
//    set_SMOD;        //UART0 Double Rate Enable
//    set_T1M;
//    clr_BRCK;        //Serial port 0 baud rate clock source = Timer1

//
//#ifdef FOSC_160000
//    TH1 = 256 - (1000000/u32Baudrate+1);               /*16 MHz */
//#endif           
//    set_TR1;
//}
////---------------------------------------------------------------
//void InitialUART0_Timer3(UINT32 u32Baudrate) //use timer3 as Baudrate generator
//{
//                P06_Quasi_Mode;
//                P07_Quasi_Mode;       
//       
//    SCON = 0x52;     //UART0 Mode1,REN=1,TI=1
//    set_SMOD;        //UART0 Double Rate Enable
//    T3CON &= 0xF8;   //T3PS2=0,T3PS1=0,T3PS0=0(Prescale=1)
//    set_BRCK;        //UART0 baud rate clock source = Timer3

//#ifdef FOSC_160000
//        RH3    = HIBYTE(65536 - (1000000/u32Baudrate)-1);                  /*16 MHz */
//  RL3    = LOBYTE(65536 - (1000000/u32Baudrate)-1);                        /*16 MHz */
//#endif
//    set_TR3;         //Trigger Timer3
//}
#endif

/*******************************************************************************
* FUNCTION_PURPOSE: Main function
******************************************************************************/
void main (void)
{

#if 0       
    InitialUART0_Timer1(9600);           //UART0 Baudrate initial,T1M=0,SMOD=0
    while(1)
    Send_Data_To_UART0(0x55);
#else
                InitialUART0_Timer3(115200);
    while(1)
    Send_Data_To_UART0(0x55);
#endif
                       
       
               
}
  

用这个试试。

使用特权

评论回复
11
稳稳の幸福| | 2018-2-26 21:28 | 只看该作者
BSP用最新的1.04版

使用特权

评论回复
12
nopeace| | 2018-3-24 16:25 | 只看该作者
如果是有部分乱码,是新塘例程的问题,IO初始化时有不合理的,这一句:32行//                P06_Quasi_Mode;   改成推挽输出。
如果是全部乱码,是可能你没有设置FOSC。
新塘的好多例程,只能出一些功能,但要不出错,要改一些东西,它们出的这些例程非常不严谨。

使用特权

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

本版积分规则

2

主题

3

帖子

0

粉丝