STM8固件庫(kù)+IAR 之-UART3-設(shè)計(jì)應(yīng)用_第1頁(yè)
STM8固件庫(kù)+IAR 之-UART3-設(shè)計(jì)應(yīng)用_第2頁(yè)
STM8固件庫(kù)+IAR 之-UART3-設(shè)計(jì)應(yīng)用_第3頁(yè)
STM8固件庫(kù)+IAR 之-UART3-設(shè)計(jì)應(yīng)用_第4頁(yè)
STM8固件庫(kù)+IAR 之-UART3-設(shè)計(jì)應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精品文檔-下載后可編輯STM8固件庫(kù)+IAR之--UART3-設(shè)計(jì)應(yīng)用3:紅外編碼模式

4:智能卡模擬功能

以上功能并不是所有串口都支持,stm8多的是3個(gè)串口,配置簡(jiǎn)單,多說(shuō)無(wú)益

本來(lái)想先寫(xiě)定時(shí)器1來(lái)著,可手頭上正好有串口的程序,整理整理先貼上來(lái)唄~

首先到stm8s_conf.h把#define_UART3(1)打開(kāi),否則uart3不能用,重新編譯一下靜態(tài)庫(kù)

貼main.c代碼:

#includestm8s.h

/*========內(nèi)部高速時(shí)鐘初始化========*/

voidinit_hsiclk(void)

{

CLK_DeInit();//寄存器復(fù)位

CLK_HSICmd(ENABLE);//內(nèi)部高速時(shí)鐘使能

CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV2);//內(nèi)部8分頻2M

}

/*==========串口初始化===========*/

voidinit_uart3(void)

{

UART3_DeInit();//復(fù)位

UART3_Init(9600,UART3_WORDLENGTH_8D,UART3_STOPBITS_1,UART3_PARITY_NO,UART3_MODE_TXRX_ENABLE);//9600,8,1,0讀寫(xiě)使能

UART3_Cmd(ENABLE);

}

/*========GPIO初始化========*/

voidinit_gpio(void)

{

GPIO_DeInit(GPIOD);//PD口復(fù)位

GPIO_Init(GPIOD,GPIO_PIN_2,GPIO_MODE_OUT_PP_LOW_SLOW);//LED2初始化推挽輸出

}

/*========延時(shí)函數(shù)===========*/

voiddelay(u16n)

{

u16i=0;

while(n--)

{

for(i=0;i330;i++);

}

}

/*========主函數(shù)===========*/

voidmain(void)

{

init_hsiclk();

init_gpio();

init_uart3();

while(1)

{

if(UART3_ReceiveData8()==0xAA)//發(fā)送0xAA,則燈閃發(fā)0xBB

{

UART3_SendData8(0xBB);

GPIO_WriteReverse(GPIOD,GPIO_PIN_2);

delay(1000);

}

}

}

附:LIN簡(jiǎn)介

LIN協(xié)會(huì)創(chuàng)建于1998年末,初的發(fā)起人為五家汽車(chē)制造商,一家軟件工具制造商以及一家半導(dǎo)體廠商。該協(xié)會(huì)將主要目的集中在定義一套開(kāi)放的標(biāo)準(zhǔn),該標(biāo)準(zhǔn)主要針對(duì)車(chē)輛中低成本的內(nèi)部互聯(lián)網(wǎng)絡(luò)(LIN,localinterconnectnetworks),這些地方無(wú)論是帶寬還是復(fù)雜性都不必要用到CAN網(wǎng)絡(luò)。LIN標(biāo)準(zhǔn)包括了傳輸協(xié)議的定義、傳輸媒質(zhì)、開(kāi)發(fā)工具間的接口、以及和軟件應(yīng)用程序間的接口。LIN提升了系統(tǒng)結(jié)構(gòu)的靈活性,并且無(wú)論從硬件還是軟件角度而言,都為網(wǎng)絡(luò)中的節(jié)點(diǎn)提供了相互操作性,并可預(yù)見(jiàn)獲得更好的EMC(電磁兼容)特性。

LIN補(bǔ)充了當(dāng)前的車(chē)輛內(nèi)部多重網(wǎng)絡(luò),并且為實(shí)現(xiàn)車(chē)內(nèi)網(wǎng)絡(luò)的分級(jí)提供了條件,這可以有助于車(chē)輛獲得更好的性能并降低成本。LIN協(xié)議致力于滿足分布式系統(tǒng)中快速增長(zhǎng)的對(duì)軟件的復(fù)雜性、可實(shí)現(xiàn)性、可維護(hù)性所提出的要求,它將通過(guò)提供一系列高度自動(dòng)化的工具鏈來(lái)滿足這一要求。

LIN總線的主要特性為:

*單主站以及多從站概念;

*基于常用的UART/SCI硬件接口,以及相應(yīng)的軟件,或作為純粹的狀態(tài)機(jī),從而保證較低的成本;

*從節(jié)點(diǎn)中無(wú)須石英或陶瓷振蕩器就可以實(shí)現(xiàn)自同步;

*信號(hào)傳輸實(shí)體確定,在增強(qiáng)系統(tǒng)中可以計(jì)算信號(hào)的傳播(propagation)時(shí)間;

*信號(hào)基于應(yīng)用交互層。

LIN網(wǎng)絡(luò)由一個(gè)主節(jié)點(diǎn)以及一個(gè)或多個(gè)從節(jié)點(diǎn)組成,媒體訪問(wèn)由主節(jié)點(diǎn)控制--從節(jié)點(diǎn)中不必有仲裁或沖突管理??梢员WC差狀態(tài)下的信號(hào)傳輸延遲時(shí)間。

LIN物理層

總線驅(qū)動(dòng)/接收器的定義遵循ISO9141單線標(biāo)準(zhǔn),并帶有一些增強(qiáng)性能??偩€為單線傳輸,與總線通過(guò)終端電阻由電池正極節(jié)點(diǎn)(VBAT)提供??偩€收發(fā)器采用增強(qiáng)型的ISO9141實(shí)現(xiàn)標(biāo)準(zhǔn)??偩€可以取兩個(gè)互補(bǔ)的邏輯值:主控值其電壓接近于接地端,代表邏輯值0,退讓值其電壓與電池電壓接近,代表邏輯值1。

總線采用上拉電阻作為終端,主節(jié)點(diǎn)的上拉電阻為1kOhm,從節(jié)點(diǎn)的上拉電阻為30kOhm。電阻需串聯(lián)一個(gè)二極管以防止由于本地電源泄漏對(duì)總線產(chǎn)生的干擾。從節(jié)點(diǎn)的終端電容通常值為CSlave=220pF,主節(jié)點(diǎn)的電容要更高以使整個(gè)總線的電容小于從節(jié)點(diǎn)的值。

由于采用單線媒質(zhì)傳輸,的傳輸波特率被限定在20kbit/s以內(nèi)。該值為從滿足信號(hào)同步而不產(chǎn)生沖突的值,到為滿足電磁兼容性要求而要達(dá)到的傳輸值之間的實(shí)驗(yàn)中間值。的傳輸波特率為1kbit/s--這有助于避免在實(shí)際中產(chǎn)生超時(shí)沖突。

LIN協(xié)議

通過(guò)LIN總線傳輸?shù)膶?shí)體為幀。一個(gè)報(bào)文幀由幀頭以及回應(yīng)(數(shù)據(jù))部分組成。在一個(gè)激活的LIN網(wǎng)絡(luò)中,通訊通常由主節(jié)點(diǎn)啟動(dòng),主節(jié)點(diǎn)任務(wù)發(fā)送包含有同步間隙的報(bào)文頭,同步字節(jié)以及報(bào)文標(biāo)志符(ID)。一個(gè)從節(jié)點(diǎn)的任務(wù)通過(guò)接收并過(guò)濾標(biāo)志符被激活,并啟動(dòng)回應(yīng)報(bào)文的傳送?;貞?yīng)中包含了1到8個(gè)字節(jié)的數(shù)據(jù)以及一個(gè)字節(jié)的校驗(yàn)碼。

傳輸一幀所花費(fèi)的總的時(shí)間是發(fā)送每個(gè)字節(jié)所用的時(shí)間,加上從節(jié)點(diǎn)的回應(yīng)間隙,再加上傳輸每個(gè)字節(jié)的間隙時(shí)間(inter-bytespace)。字節(jié)間隙是指發(fā)送完前一個(gè)字節(jié)的停止位后到發(fā)送下一個(gè)字節(jié)的啟動(dòng)位之間的時(shí)間。

幀內(nèi)部間隔(inter-framespace)是從上一幀發(fā)送完畢后到下一幀啟動(dòng)發(fā)送間的時(shí)間間隔。

幀的結(jié)構(gòu)如圖1所示。幀由幀間間隔以及接下來(lái)的4到11個(gè)字節(jié)域組成。

圖1:幀結(jié)構(gòu)

信號(hào)在幀的數(shù)據(jù)域中傳送。多個(gè)信號(hào)可以打包在一個(gè)幀中傳送,只要這些信號(hào)不彼此重疊即可。

每個(gè)信號(hào)只有一個(gè)明確的傳輸者,例如,通常由一簇(cluster)節(jié)點(diǎn)中的一個(gè)來(lái)寫(xiě),0、1或多個(gè)節(jié)點(diǎn)訂閱該信號(hào)。

LIN協(xié)議的特性是使用進(jìn)度表(scheduletable)。進(jìn)度表有助于保證總線不出現(xiàn)過(guò)載的情況,他們同樣是保證信號(hào)定期傳輸?shù)慕M件。

在一組LIN節(jié)點(diǎn)中只有主節(jié)點(diǎn)任務(wù)才可以啟動(dòng)通訊保證了行為的確定性。主節(jié)點(diǎn)有責(zé)任保證與操作模式相關(guān)的所有幀都必須分配了足夠長(zhǎng)的傳輸時(shí)間。

LIN應(yīng)用

采用LIN可實(shí)現(xiàn)車(chē)內(nèi)網(wǎng)絡(luò)分級(jí),從而成為車(chē)輛制造商提供更高的質(zhì)量及更低成本的重要因素。它可以為工業(yè)領(lǐng)域的軟件開(kāi)發(fā)提供的實(shí)現(xiàn)方式:抽象及更好的組合能力。LIN可以簡(jiǎn)化很多現(xiàn)有的低端復(fù)合解決方案,并且可以降低車(chē)輛電子系統(tǒng)的開(kāi)發(fā)、生產(chǎn)、服務(wù)及后勤成本。

采用配備LIN的轎車(chē)生產(chǎn)線正在快速增長(zhǎng),而下一代轎車(chē)雄心勃勃的計(jì)劃也許是LIN成功的證明。簡(jiǎn)捷而完整的LIN規(guī)范包含了完整的網(wǎng)絡(luò)概念,極高的自動(dòng)化程度已經(jīng)使L

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論