打印

uart

[复制链接]
1680|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kyzb001|  楼主 | 2010-11-8 19:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
UART, TI, tc, RTC, vr
file:///C:/Users/ChenQ/Documents/Tencent%20Files/418395300/Image/%60FV5(CL7JL%60Q]HIT0XWAT9X.jpg
#include <stdio.h>
#include "NUC1xx.h"
#include "DrvUART.h"
#include "DrvRTC.h"
#include "DrvGPIO.h"
#include "DrvSYS.h"
int32_t bLoop=TRUE;
void TickCallBackFun()
{
S_DRVRTC_TIME_DATA_T sCurTime;
DrvRTC_Read(DRVRTC_CURRENT_TIME,&sCurTime);
printf("\n%d/%02d/%02d %02d:%02d:%02d\n",sCurTime.u32Year,sCurTime.u32cMonth,sCurTime.u32cDay,sCurTime.u32cHour,sCurTime.u32cMinute,sCurTime.u32cSecond);
printf("\n");
}
void AlarmCallBackFun()
{
bLoop=FALSE;
printf("\nTime is OK\n");

}
int32_t main()
{
  STR_UART_T sParam;
  S_DRVRTC_TIME_DATA_T cTime;
  S_DRVRTC_TIME_DATA_T sInitTime;
  char a[] = " asdasdasd ";
  UNLOCKREG();
  SYSCLK->PWRCON.XTL12M_EN = 1;
  DrvSYS_Delay(5000);
  
  sParam.u32BaudRate=115200;
     sParam.u8cDataBits = DRVUART_DATABITS_8;
     sParam.u8cStopBits = DRVUART_STOPBITS_1;
     sParam.u8cParity   = DRVUART_PARITY_NONE;
     sParam.u8cRxTriggerLevel = DRVUART_FIFO_1BYTES;
  DrvGPIO_InitFunction(E_FUNC_UART0);
  DrvSYS_SelectIPClockSource(E_SYS_UART_CLKSRC,0);
  if(DrvUART_Open(UART_PORT0,&sParam) == E_SUCCESS)
  {
   printf("\n--------------Open UART0 sucess--------------\n");
  SendChar(a);
  DrvRTC_Init();
  sInitTime.u32Year   = 2010;
  sInitTime.u32cMonth  = 11;
  sInitTime.u32cDay   = 6;
  sInitTime.u32cHour   = 11;
  sInitTime.u32cMinute  = 35;
  sInitTime.u32cSecond  = 23;
  sInitTime.u32cDayOfWeek = DRVRTC_MONDAY;
  sInitTime.u8cClockDisplay = DRVRTC_CLOCK_24;
  
  if(DrvRTC_Open (&sInitTime)!=E_SUCCESS)
  {
   printf("\n   RTC  Open is fail   \n");
   return FALSE;
  }
  printf("\nTime is:\n");
   printf("\nPlease input 1 to set Clock\n");
  DrvRTC_SetTickMode(DRVRTC_TICK_1_SEC);
  DrvRTC_EnableInt(DRVRTC_TICK_INT,TickCallBackFun);
  while(getchar()!='1');
  DrvRTC_Read(DRVRTC_CURRENT_TIME,&cTime);
  cTime.u32cSecond=cTime.u32cSecond+5;
  DrvRTC_Write(DRVRTC_ALARM_TIME,&cTime);
  DrvRTC_EnableInt(DRVRTC_ALARM_INT,AlarmCallBackFun);
  printf("\nThe clock is open\n");
  while(bLoop);
  printf("\nSmple is over\n");
  }               
}
图为代码的结果。代码放在140的芯片上运行完全正常。放在100的芯片上就出现这个问题。请教下大家。怎么回事?
另.用while()持续发送printf 到一定量数据的时候,数据就会出错。

相关帖子

沙发
kyzb001|  楼主 | 2010-11-8 19:03 | 只看该作者
图片貌似看不到。 就是反复的输出这个一句
“--------------Open UART0 sucess--------------”

使用特权

评论回复
板凳
黑发尤物| | 2010-11-8 21:20 | 只看该作者
刚开始学uart,学习下

使用特权

评论回复
地板
ji_dan| | 2010-11-9 21:49 | 只看该作者
:(……

使用特权

评论回复
5
火箭球迷| | 2010-11-9 21:52 | 只看该作者
不太明白楼主要问的问题

使用特权

评论回复
6
kyzb001|  楼主 | 2010-11-11 15:16 | 只看该作者
我也不知道,忘记什么问题了,不过已经解决了。谢谢各位。

使用特权

评论回复
7
kyzb001|  楼主 | 2010-11-11 15:18 | 只看该作者
哦记得了,是我们产品的测试版上的外部看门狗。貌似是由于启动时间问题,导致不能喂狗。所以引发的复位。

使用特权

评论回复
8
kyzb001|  楼主 | 2010-11-11 15:19 | 只看该作者
分还是给大家把  哎!  这芯片。 为什么高手都不出来说说话。

使用特权

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

本版积分规则

15

主题

623

帖子

1

粉丝