㈠ stm8s單片機通過什麼與其他外設和晶元進行數據傳輸
藍牙與智能手機通訊。
STM8S系列單片機有1~3個通用非同步收發器(UART)支來持串口通訊,在這個部分里,將以STM8S單片機通過藍牙與智能手機通訊,實現一個echo功能,即單片機將收到來自於改讓手機的數據原樣返回給滾州手機。
STM8 系列是意法半導體公司生產的 8 位核備局的單片機。
㈡ 單片機的幾種傳輸方式的總結
學習了51單片機以及STM32後總結下單片機與外設或者上位機通訊的幾種傳輸方式
串口、COM口是指的物理介面形式(硬體)。而TTL、RS-232、RS-485是指的電平標准(電信號)
串列通信:指數據一位一位順序傳送
串列介面:簡稱串口(COM口)
並行通信:一組數據的各數據位在多線上同時被傳輸
並行介面:一種介面,各數據位同時被傳輸,傳輸速度快,效率高,一般用於MCU
串列通信分為:
單工:數據單項傳送
半雙工:數據能雙向傳送但不能同時
全雙工:數據能同時雙向傳送
通用的、及支持同步也支持非同步的接收、發送「模塊」,在晶元內部,與SPI、I2C一起構成單片機的匯流排「枝幹」,對於串口,串口通信指串口按位(bit)發送和接收位元組,盡管比按位元組(byte)的並行通信慢,但是串口可以在使用一根線發送數據的同時用另一根線接收數據。
串列通信技術標准EIA-232/485也就是以前所稱的RS-232/485。
232是PC機與通信工業中應用最廣泛的一種串列介面,RS232單端通信,傳輸距離可達15米,最高速率20Kbps。
RS485傳輸速率為10Mbps,最大傳輸距離1219米,,採用二線制時可實現真正的多點雙向通信,而采
用四線連接時只能實現點對多點通信,無論四線還是二線連接方式匯流排上可接多達 32 個設備。
串列通信傳輸速率用於說明傳輸的快慢。在串列通信中,數據是按位進
行傳送的,因此傳輸速率用每秒鍾傳送格式位的數目來表示,稱之波特率
(band rate)。每秒傳送一個格式位就是 1 波特。常用的波特率有:4800、
9600、19200、115200 波特。
串口三個腳:TX、RX、GND
IIC匯流排是一種兩線式串列匯流排,支持多主控,其中任何能夠進行發送和接收的設備都可以成為主匯流排,一個主控能夠控制信號的傳輸和時鍾頻率,當然在任何時間點上只能有一個主控。IIC匯流排是由數據線SDA和時鍾SCl構成的串列匯流排,可發送和接收數據,在CPU與被控IC之間,IC與IC之間進行雙向傳送,最高傳送速率100Kbps,各種被控制電路均並聯在這條匯流排上,每個設備模塊都有唯一的地址,IIC匯流排上的每一個設備模塊既是主控器或被控器,又是發送器或接收器,這取決於你要實現的功能是怎樣的。
CPU發出的控制信號分為地址碼和控制量兩部分
IIC匯流排傳輸過程中有三種信號:起始信號,終止信號,應答信號。
起始信號:SCL 為高電平時,SDA 由高電平向低電平跳變,開始傳送數據;
終止信號:SCL 為低電平時,SDA 由低電平向高電平跳變,結束傳送數據;
應答信號:接收數據的 IC 在接收到 8bit 數據後,向發送數據的 IC 發出
特定的低電平脈沖,表示已收到數據。CPU 向受控單元發出一個信號後,
等待受控單元發出一個應答信號,CPU 接收到應答信號後,根據實際情
況作出是否繼續傳遞信號的判斷。若未收到應答信號,由判斷為受控單
元出現故障。
SPI允許單片機和外圍設備或者單片機之間高速同步數據傳輸,SPI可以有主機和從機模式之選,通信的主從機之間通過移位寄存器同時交換數據。目前自己用的以主機模式居多。SPI需要四線:SS,MISO,MOSI,SCK。
通信過程:在設置好SPI的工作模式:包括SCK頻率(數據傳輸速率),工作速度,主從模式,以及數據接收發送對應的時鍾極性。在主模式下,將SS拉低表示通信的開始,然後通過向SPI數據寄存器中寫入一位元組的數據後自動啟動時鍾SCK開始進行一次通信,通信完成後會產生相應的中斷標志,標志一個位元組數據的傳送完成。通信完成後將SS腳拉高,表示通信過程已經結束。
注意SS引腳的設置:當設置為從機模式時,SS引腳應設置為輸入,拉低的時候SPI才能起作用,拉高的話是消極的SPI模式;在主機模式下,SS引腳可以設置,一般應設置為輸出,如果設置為輸入的話應保持為高,否則將不能進行正常的主機模式操作。
單片機通訊方式
㈢ 關於單片機通過藍牙將數據傳輸給手機,並在app上面顯示出來怎麼實現
首先是藍牙通信,我想指出,如果你用的是藍牙模塊的話,那麼它的單片機程序與串口的單片機程序差不多一樣,只要你會串口操作,藍牙也就解決了,如果不是用的藍牙模塊,另當別論。
然後是接受端手機這邊,你應該懂一些java東西,知道怎麼調用底層程序,編寫讀取串口程序,根據發送的協議,把接受的數據轉化為十讓哪進制就可以了.
(3)單片機怎麼傳輸擴展閱讀
單片機採用51系列單片機汪滑察用C51語言編寫,通過sprintf構造JSON格式文件通過藍牙串口模塊發送到安卓手機,簡要代碼如下:
sprintf(msg,"{"RR":"%02x"} ",(unsigned int )RRtemp);
Serial_print(msg);
這里困茄涉及到Serial_print()函數如下:
void Serial_print(char *msg)
{
while (*msg != '