前言:從接觸單片機(jī)到現(xiàn)在,從PIC到STM32,從來(lái)沒(méi)有寫(xiě)過(guò)任何技術(shù)日記。忽然感覺(jué)很空虛,既然學(xué)了技術(shù),就該留點(diǎn)什么東西來(lái)。這篇是我從事技術(shù)行業(yè)的第一篇技術(shù)文章。目的是想與大家交流學(xué)習(xí),當(dāng)中有不當(dāng)?shù)募夹g(shù)錯(cuò)誤,
一說(shuō)到串口,大家應(yīng)該在腦海中出現(xiàn)下面這個(gè)畫(huà)面就對(duì)了:看到?jīng)]有,這就是正兒八經(jīng)的串口。在現(xiàn)在的工控機(jī)上,和以前的家用電腦上,都有串口,現(xiàn)在的家用電腦上,已經(jīng)沒(méi)有串口了。(千萬(wàn)不要把VGA口看成串口,VGA口是
學(xué)習(xí)STM32過(guò)程中,經(jīng)常打交道的莫過(guò)于串口,你可以將任何信息,當(dāng)然重要的是調(diào)試信息打印到串口中輸出,總是用一個(gè)字節(jié)發(fā)送函數(shù)或者字符串發(fā)送函數(shù)總是有些不放便,之前編程中熟悉的莫過(guò)于printf了,下面就給出了用p
使用DMA從串口讀數(shù)據(jù)到內(nèi)存和從內(nèi)存搬數(shù)據(jù)到串口一樣,只是要注意所使用的DMA通道不一樣。當(dāng)配置好后,如果串口上有數(shù)據(jù)傳輸,DMA就自動(dòng)把數(shù)據(jù)搬到內(nèi)存中。當(dāng)工作在正常模式,DMA搬運(yùn)了設(shè)定長(zhǎng)度的數(shù)據(jù)后,會(huì)產(chǎn)生中斷
S3C2440A的通用異步收發(fā)器(UART)配有3個(gè)獨(dú)立異步串行I/O(SIO)端口,每個(gè)都可以是基于中斷或基于DMA模式的操作。換句話(huà)說(shuō),UART可以通過(guò)產(chǎn)生中斷或DMA請(qǐng)求來(lái)進(jìn)行CPU和UART之間的數(shù)據(jù)傳輸。UART通過(guò)使用系統(tǒng)時(shí)鐘可
一、電機(jī)轉(zhuǎn)數(shù)在機(jī)械廠(chǎng)成功獲取電機(jī)轉(zhuǎn)數(shù),在串口接線(xiàn)時(shí),把VCC、RXD、TXD、GND四根線(xiàn)都接上,其中VCC-8,GND-9,RXD-10,TXD-11。其中TTL-232電平轉(zhuǎn)換模塊的電源輸入可以從VCC輸入,即在電腦-電機(jī)控制器-開(kāi)發(fā)板三者連接中
由于12232F這個(gè)顯示器用得比較平常,但平常見(jiàn)到的是一些并口的匯編程序,并且也沒(méi)有對(duì)應(yīng)于12232F的并口程序,串口的C51程序極少見(jiàn),為了方便大家使用,所以本站把它調(diào)試了一個(gè)出來(lái),大家多多指教!/***
出現(xiàn)的問(wèn)題:在使用sscom32串口調(diào)試助手,首字符出現(xiàn)亂碼“?tart?tart?tart?tart?tart?tart”原因:波特率過(guò)高解決辦法:將波特率設(shè)置的低一點(diǎn),通常9600即可現(xiàn)象:亂碼為波特率較高; 正常顯示波特率較低函數(shù)代
隨著單片機(jī)的使用日益頻繁,用其作前置機(jī)進(jìn)行采集和通信也常見(jiàn)于各種應(yīng)用,一般是利用前置機(jī)采集各種終端數(shù)據(jù)后進(jìn)行處理、存儲(chǔ),再主動(dòng)或被動(dòng)上報(bào)給管理站。這種情況下下,采集會(huì)需要一個(gè)串口,上報(bào)又需
STM32和STM8的串口貌似都可以一次發(fā)送9位數(shù)據(jù),最近才注意到這個(gè),在此記錄。一般不帶奇偶校驗(yàn)位的串口數(shù)據(jù):起始位(1)+數(shù)據(jù)位(8)+停止位(1)帶奇偶校驗(yàn)位的串口數(shù)據(jù):起始位(1)+數(shù)據(jù)位(8)+校驗(yàn)位(1)+停止
網(wǎng)上關(guān)于發(fā)送字符的代碼大多如下:USART_SendData(USART1, (uint8_t)ch);while( USART_GetFlagStatus(USART1, USART_FLAG_TC) != SET);其實(shí)咋一看是說(shuō)的通的,但是在仔細(xì)看手冊(cè)的時(shí)候發(fā)現(xiàn) TC 和 TXE 標(biāo)志位在復(fù)位的時(shí)
單片機(jī)每次發(fā)送或者接受完數(shù)據(jù)(8位數(shù)據(jù)將保存在緩沖區(qū)中),會(huì)自動(dòng)觸發(fā)接受或者發(fā)送中斷。因此只需要中斷置位以后再緩沖區(qū)中讀數(shù)據(jù)(或者發(fā)送數(shù)據(jù))。1 /*************************************************2 *rece
1.可用函數(shù)發(fā)生器當(dāng)串口發(fā)送器用如果你要調(diào)試串口,只有一塊扳,計(jì)算機(jī)又不在手邊,你可以用函數(shù)發(fā)升器當(dāng)串口發(fā)送器來(lái)用,如你的波特率是9600,那你把函數(shù)發(fā)生器頻率調(diào)到9600/2=4800HZ上輸出TTL電平直接到RX
#i nclude #i nclude #i nclude "UART.h"/* USART Buffer Defines */#define USART_RX_BUFFER_SIZE 16 /* 1,2,4,8,16,32,64,128 or 256bytes */#define USART_RX_BUFFER_MASK ( USART_RX_BUFFER_SIZ
在使用串口的時(shí)候,串口的波特率是一個(gè)必須給定的參數(shù)。雖然書(shū)上說(shuō)的很明確了,是一bit的時(shí)間??晌揖褪遣环判模恢奔{悶這個(gè)波特率到底是發(fā)送方波的頻率還是發(fā)送一個(gè)字節(jié)所需要的時(shí)間。今天專(zhuān)門(mén)測(cè)試下,留作備案以免
前段時(shí)間做了一個(gè)項(xiàng)目,有部分功能是接收串口命令,根據(jù)命令保存一些系統(tǒng)數(shù)據(jù)(用STM8S內(nèi)自帶的EEPROM)。項(xiàng)目完成之初用串口調(diào)試工具發(fā)單條命令可以正常接收保存,但用一個(gè)上位機(jī)軟件連續(xù)發(fā)命令(約20ms)時(shí)單片機(jī)死
上節(jié)講了串口如何發(fā)數(shù)據(jù),這次我們介紹下查詢(xún)和中斷兩種不同方法收數(shù)據(jù)首先介紹幾個(gè)相關(guān)函數(shù)如圖所示:下面我們就用這幾個(gè)函數(shù),實(shí)現(xiàn)輸入字符串回顯的功能:
1.參考文章下載地址:http://download.csdn.net/source/19276242.虛擬串口3.串口調(diào)試助手4.Proteus 7.5 sp3實(shí)現(xiàn)方法1.參考文章(參考文章是從CSDN下載的一篇PDF文件)已經(jīng)很詳細(xì)的說(shuō)明了怎么實(shí)現(xiàn),我就不想啰嗦了,我