日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年05月20日(星期二)

正在發(fā)生

2018年05月20日 | Keil MDK環(huán)境下使用printf函數(shù)的解決方法

發(fā)布者:心愿達(dá)成 來源: eefocus關(guān)鍵字:Keil  MDK環(huán)境  printf函數(shù) 手機(jī)看文章 掃描二維碼
隨時隨地手機(jī)看文章

printf()函數(shù)可以直接向窗口格式化輸出,給我們調(diào)試程序帶來很大的方便,然而在Keil MDK環(huán)境下直接使用printf()函數(shù)就會陷入軟件中斷,導(dǎo)致死循環(huán)的產(chǎn)生;因而不能進(jìn)入main()函數(shù)。

單步調(diào)試程序時會發(fā)現(xiàn)程序指針一直在 SWI_Handler     B       SWI_Handler 打轉(zhuǎn);

解決方法:

工程選擇NXP的LPC21XX器件。

1.首先在Keil安裝目錄下面ARM——Startup找到Retarget.c文件將其復(fù)制到你的工程文件夾下面;并將其加入到工程中;

2. 在Keil安裝目錄下面ARM——Examples——Hello找到Serial.c文件將其復(fù)制到你的工程文件夾下面;并將其加入到工程中;

3.Serial.c代碼如下:

/******************************************************************************/
/* SERIAL.C: Low Level Serial Routines                                        */
/******************************************************************************/
/* This file is part of the uVision/ARM development tools.                    */
/* Copyright (c) 2005-2006 Keil Software. All rights reserved.                */
/* This software may only be used under the terms of a valid, current,        */
/* end user licence from KEIL for a compatible version of KEIL software       */
/* development tools. Nothing else gives you the right to use this software.  */
/******************************************************************************/

#include                      /* LPC21xx definitions               */

#define CR     0x0D


void init_serial (void)  {               /* Initialize Serial Interface       */
  PINSEL0 = 0x00050000;                  /* Enable RxD1 and TxD1              */
  U1LCR = 0x83;                          /* 8 bits, no Parity, 1 Stop bit     */
  U1DLL = 97;                            /* 9600 Baud Rate @ 15MHz VPB Clock  */
  U1LCR = 0x03;                          /* DLAB = 0                          */
}


/* implementation of putchar (also used by printf function to output data)    */
int sendchar (int ch)  {                 /* Write character to Serial Port    */

  if (ch == '\n')  {
    while (!(U1LSR & 0x20));
    U1THR = CR;                          /* output CR */
  }
  while (!(U1LSR & 0x20));
  return (U1THR = ch);
}


int getkey (void)  {                     /* Read character from Serial Port   */

  while (!(U1LSR & 0x01));

  return (U1RBR);
}

4.在頭文件中加入#include。

5.在使用printf函數(shù)之前對串口進(jìn)行初始化;可以直接使用Serial.c中的 init_serial ()函數(shù)對串口初始化。


關(guān)鍵字:Keil  MDK環(huán)境  printf函數(shù) 引用地址:Keil MDK環(huán)境下使用printf函數(shù)的解決方法

上一篇:單片機(jī)空閑與掉電模式
下一篇:Keil MDK破解過程詳解

推薦閱讀

對于主電源掉電后需要繼續(xù)工作一段時間來用于數(shù)據(jù)保存或者發(fā)出報警的產(chǎn)品,我們往往都能夠看見產(chǎn)品PCB板上有大電容甚至是超級電容器的身影。大容量的電容雖然能延時系統(tǒng)掉電,使得系統(tǒng)在電源意外關(guān)閉時MCU能繼續(xù)完成相應(yīng)操作,而如果此時重新上電,卻經(jīng)常遇到系統(tǒng)無法啟動的問題。那么這到底是怎么回事呢?遇到這種情況又該如何處理呢?一、上電失敗問題分析...
據(jù)報道,一輛無人駕駛的電動卡車開始在瑞典的一條公共道路上運(yùn)送貨物,據(jù)開發(fā)商Einride和物流客戶DB Schenker稱,這是全球首例。瑞典初創(chuàng)公司Einride的CEO羅伯特-法爾克(Robert Falck)表示,該公司正與主要供應(yīng)商談判合作,以幫助實(shí)現(xiàn)量產(chǎn)和交付訂單,不排除未來與大型卡車制造商的聯(lián)盟。 這位前沃爾沃公司高管表示:“這個公共道路許可證是一個重要的...
對全球多數(shù)產(chǎn)業(yè)來說,2020年“生存將大過盈利”,這其中自然不乏疫情后遺癥的影響,但若財報已連續(xù)二十多個季度出現(xiàn)赤字又該如何應(yīng)對呢?裁員或許就是下一步動作。 據(jù)韓媒報道,在今年第一季度之前,LG電子(LG Electronics)的移動通信部門已經(jīng)連續(xù)20個季度出現(xiàn)赤字,智能手機(jī)產(chǎn)量也一直在不斷減少,2017年為5728萬臺,2018年為3810萬臺,2019年僅有2375...
新浪數(shù)碼訊 5月20日消息,今年的5月20日,恰逢第十個全球無障礙宣傳日,蘋果也展示了為行動、視力、聽力和認(rèn)知障礙人士設(shè)計的軟件功能。蘋果公司CEO蒂姆·庫克也在微博表示:“我們相信每個人都應(yīng)該擁有改變世界所需的工具。 無障礙是一項基本權(quán)利,我們一直在努力突破創(chuàng)新的界限,以便每個人都能以新的方式學(xué)習(xí),創(chuàng)建和聯(lián)系。”  蘋果也推出...

史海拾趣

小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved