CH554E 的評估版板 CH554EVT.ZIP 中軟件 printf 的LOG 是否是輸出到UART中?

我問一下,在CH554E評估板資料中,CH554EVT.ZIP -> CH554EVT\EVT\EXAM\USB\Host->USBHostHUB_KM.C, printf?打印的調(diào)試信息是否是輸出到UART中??是不是從評估板?CH554 T&E&G MINIEVT2@1710?中的P1的USB口(UART)?中輸出的...

Keil C51 uses putchar() for printf(). The default putchar() funktion uses SIO0 and is located in the keil directory in c. If you want tu use printf() on SIO1 just add your own putchar() funtion in your source code.


putchar() does not use the sio interrupt. just make sure to set U1TI = 1 , before the first printf(). Ofcourse you also have to setup the baudrate before too.


hi usbman:

????can we talk this with in chinese?

????um....

????I am the new guy for the USB and CH554E.

?????um...

????I get 3 points from you comments:

????1. The "putchr? for printf()" defaul code for the USB host demo named USBHostHum_KM.c ?just use the SIO0 ( UART 0 ) as hardware output interface.

????????UART0 : P1.2 & P1.3? or P3.0 P3.1(UART0 )

????????UART1: P1.6 & P1.7? or P3.2 P3.4(UART1)

????2. I should rewrite putchr funtion for the printf to UART1 (CH554E use P1.6 and P1.7 )

????3. Must set U1TI = 1 and must set?baudrate?


Did any other code show I modify ? or Did you have the modifed code to share with me ???



hi usbman:


? ?um...?
? ?I check the CH554EVB souce , and got the UART1 demo , I will check and sample study it.?

? ?um....?

? ?Does it work? with??USBHostHum_KM.c ? we do not discuss this printf funciton now.

? ?I just want print the keyboard key code's value to UART1 (CH554E,P16 and P17)?

? ?so , As i understand...

? ?I just inclue the uart1.h to?USBHostHum_KM.c and then find some place to call?

? ?1. call UART1Init in the beging of main in the?USBHostHum_KM.c

? ?2. call CH554UART1SendByte in some plate of?USBHostHum_KM.c's main?

??

? Is't right ? I want fix this before I build the new hardware.


ok I will try to answer but in enhlish only because I am from Europe


  1. putchar() and printf() are part of c runtime library so if you dont change anyting printf() uses the putchar from the lib and therefore any printf() goes to SIO0.

  2. if you want to use printf on SIO1 you have to provide your own putchar function. The linker will reconize it and uses your putchar instead of the library one.

  3. printf() does not use IRQ therefore SIO1 IRQ must be disabled and U1TI must be set to 1.


Here some (untested) code:


#define BAUDRATE 9600

#define FSYS? ? ?6000000 //default speed after power on


void Sio1Init(unsigned char alternate)

{

? ?IE_UART1 = 0;

? ?if (alternate) PIN_FUNC |=? ?bUART1_PIN_X; //select the sio1 pinpair

? ?else? ? ? ? ? ? ? PINFUNC &= ~bUART1_PIN_X;

? ?

? ?U1SMOD = 1;

? ?SBAUD1 = 256- (FSYS / 16 / BAUDRATE) ;

? ?U1T1 = 1;

}


for more info check \c51\lib\putchar.c\

/*

?* putchar (mini version): outputs charcter only

? ?for CH554 SIO1

?*/

char putchar (char c)??

{

? while (!U1TI);

? U1TI = 0;

? return (SBUF1 = c);

}



您好,

先感謝usbman的積極參與,我從您一開始提的問題應該是想問那個評估板是不是可以用上面的usb口直接鏈接電腦打印,答案是可以的,ch554的評估板上,那個'調(diào)試絲印'的usb口是板載了一個ch340,您可以通過邊上的串口跳冒選擇那個usb口鏈接到的串口引腳,可以再看下pub文件夾的原理圖。

上面提到的print重定向方法您也可以再研究下

您也可以將問題描述時配上您手上板子的配圖輔助我們理解問題。


hi? usbman:


? ? yeah , thanks for your stronly support, thanks again.?

? ?I have understand your meanings , and clear what show I do .

? ?Thank you very very much again.


hi??TECH29:


? ? 我說一下我目前的情況?和?需要做到的?目標(我頭一次自己設計HW,想完成自己產(chǎn)品中的一部分)

? ? 目前情況:

? ? 1.?手上?沒有CH544EVT?的評估板(也就是http://m.findthetime.net/products/CH554.html?開發(fā)資料 ->CH554EVT.ZIP ->CH554EVT\EVT\PUB\CH554EVT.pdf 中提到的? "CH554MINIEVT2@1711(新版)" 評估板)

? ??

? ? ?我的目標:

? ? ?1.?我要利用CH554解析?USB鍵盤上的每一個鍵值,比如"K"

? ? ?2.?然后將鍵值“K",通過串口(/或者其他通訊方式)發(fā)送給?其他的MCU。


? ? ?我的計劃:

? ? ? ? ? ? 硬件計劃:1.?按照 《CH554 T&E&G MINIEVT2@1710 評估板原理圖:(新版)》原理圖

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2.?刪除?JP1,U2,U4,JP2,U5,?J1等等,(只用5V供電,VDO給5V,V33不接)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3.?讓P1.6和P1.7 當做串口,鏈接到我的MCU上(我從CH554SCH.PDF理解CH554只有串口1,沒有串口0 )

? ? ? ? ? ? ? 軟件計劃:

????????????????????????????????1.?利用CH554EVT.ZIP ->?USBHostHum_KM.c?source中的printf函數(shù)把,”K"鍵值,通過串口P1.6&P1.7發(fā)送到我的MCU中。


? ? ? 我的問題和理解:

? ? ? ? ? ? ?1.?我理解,CH554EVT.ZIP ->?USBHostHum_KM.c?source(我利用這個Demo)中的printf的內(nèi)容,針對我上述的 <硬件計劃> ,是打印不到我的MCU的。因為CH554?只有UART1 ,沒有UART0 ,所以printf打印不出來。(此問題也是通過?usbman?告訴才意識到的


? ? ? ? ? ? 2.?所以,我需要在USBHostHum_KM.c?中加入UART1.h?的?UART1Init()的初始化? ,然后在適當?shù)奈恢谜{(diào)用?CH554UART1SendByte()發(fā)送出來“K"的Data即可?這樣我的MCU就能收到”K"的Data 。? ?我的理解是否正確?



? ? ? 我需要自己設計硬件->打板->軟件編譯->下載,所以我希望這整個過程?能夠清晰,所以提交了此貼。

?




您好,

1,是的,CH554E沒有UART0的引腳,可以考慮使用更大封裝的CH554G/T或者可以考慮使用CH32X035

2,您的理解正確,可以初始化UART1后,考慮使用print重定向到UART1或者直接調(diào)用CH554UART1SendByte函數(shù)發(fā)送串口數(shù)據(jù)


hi? TCECH29 :


? ? 非常感謝你的答復,我嘗試打板驗證一下。


hi TECH29:


? ?我還有一個問題, 我參照 《CH554 T&E&G MINIEVT2@1710 評估板原理圖:(新版)》原理圖


? ?我也放上去了CH340C,我打回來板子,CH340C 是否需要燒錄 固件(firmware)才能從USB接收到554的UART1?數(shù)據(jù)?

? ?如果需要,能否告訴我哪里下載固件以及下載的方法和工具?



hi? TECH29:


? ? 我看了CH340的鏈接:http://m.findthetime.net/products/CH340.html?from=list?如下描述

? ? 是不是CH340C?芯片買回來后,里面就有USB?轉(zhuǎn)?UART的功能??我無需下載?固件(firmware)

? ? 備注:? ?如果要是方便,能否共享一下CH340C的固件,以及下載的方法?和?工具?

特點

  • 全速USB設備接口,兼容USB V2.0。

  • 仿真標準串口,用于升級原串口外圍設備,或者通過USB增加額外串口。

  • 計算機端Windows操作系統(tǒng)下的串口應用程序完全兼容,無需修改。

  • 硬件全雙工串口,內(nèi)置收發(fā)緩沖區(qū),支持通訊波特率50bps~2Mbps。

  • 支持常用的MODEM聯(lián)絡信號RTS、DTR、DCD、RI、DSR、CTS。

  • 通過外加電平轉(zhuǎn)換器件,提供RS232、RS485、RS422等接口。

  • CH340R芯片支持IrDA規(guī)范SIR紅外線通訊,支持波特率2400bps到115200bps。

  • 內(nèi)置固件,軟件兼容CH341,可以直接使用CH341的VCP驅(qū)動程序。

  • 支持5V電源電壓和3.3V電源電壓。

  • CH340C/N/K/E/X/B內(nèi)置時鐘,無需外部晶振,CH340B還內(nèi)置EEPROM用于配置序列號等。

  • 提供SOP-16、SOP-8和SSOP-20以及ESSOP-10、MSOP-10無鉛封裝,兼容RoHS。



您好,

CH340無需下載固件,接口芯片,固定用法的,詳情參考他的手冊:

http://m.findthetime.net/downloads/CH340DS1_PDF.html


hi?TECH29 :


? ? ?非常感謝你的答復


只有登錄才能回復,可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频