實(shí)驗(yàn)?zāi)康模?/div>
實(shí)現(xiàn)利用串口1不停的打印一個(gè)信息到電腦上,同時(shí)接收從串口發(fā)過來的數(shù)據(jù),把發(fā)送過來的數(shù)據(jù)直接送回給電腦。
實(shí)驗(yàn)平臺(tái):
基于STM32F103C8T6的彩屏開發(fā)板
硬件接口:
注意:因?yàn)槲业拈_發(fā)板上的串口和LED共用了PA9和PA10,所以在使用USART1時(shí)務(wù)必屏蔽LED,不然兩者會(huì)互相影響而導(dǎo)致實(shí)現(xiàn)現(xiàn)象無法呈現(xiàn)。
相關(guān)寄存器:
1,串口時(shí)鐘使能。串口作為STM32 的一個(gè)外設(shè),其時(shí)鐘由外設(shè)時(shí)鐘使能寄存器控制,這
里我們使用的串口1 是在APB2ENR 寄存器的第14 位。
2,串口復(fù)位。串口1 的復(fù)位是通過配置APB2RSTR 寄存器的第14位來實(shí)現(xiàn)的。。通過向該位寫1來復(fù)位串口1,寫0 結(jié)束復(fù)位。
3,串口波特率設(shè)置。每個(gè)串口都有一個(gè)自己獨(dú)立的波特率寄存器USART_BRR
波特率的計(jì)算,STM32 的串口波特率計(jì)算公式如下:

上式中, 是給串口的時(shí)鐘(PCLK1 用于USART2、3、4、5,PCLK2 用于USART1);USARTDIV是一個(gè)無符號(hào)定點(diǎn)數(shù)。我們只要得到USARTDIV 的值,就可以得到串口波特率寄存器USART1->BRR的值。
4,串口控制。STM32 的每個(gè)串口都有3 個(gè)控制寄存器USART_CR1~3,串口的很多配置
都是通過這3 個(gè)寄存器來設(shè)置的
5,數(shù)據(jù)發(fā)送與接收。STM32 的發(fā)送與接收是通過數(shù)據(jù)寄存器USART_DR 來實(shí)現(xiàn)的,這是
一個(gè)雙寄存器,包含了TDR 和RDR。
6,串口狀態(tài)。串口的狀態(tài)可以通過狀態(tài)寄存器USART_SR 讀取。
(注:詳細(xì)的介紹使用請(qǐng)參考ST公司的數(shù)據(jù)手冊(cè))
程序設(shè)計(jì):
(注:本人的usart.c usart.h delay.cdelay.h sys.c sys.h是引用網(wǎng)上一位網(wǎng)友整理的)
usart.h
#ifndef __USART_H
#define __USART_H
#include<stm32f10x_lib.h>
#include"stdio.h"
extern u8USART_RX_BUF[64]; //接收緩沖,最大63個(gè)字節(jié).末字節(jié)為換行符
extern u8USART_RX_STA; //接收狀態(tài)標(biāo)記
//如果想串口中斷接收,請(qǐng)不要注釋以下宏定義
#define EN_USART1_RX //使能串口1接收
void uart_init(u32 pclk2,u32 bound);
#endif
usart.c
#include "sys.h"
#include "usart.h"
//加入以下代碼,支持printf函數(shù),而不需要選擇useMicroLIB
#if 1
#pragmaimport(__use_no_semihosting)
//標(biāo)準(zhǔn)庫(kù)需要的支持函數(shù)
struct __FILE
{
int handle;
};
FILE__stdout;
//定義_sys_exit()以避免使用半主機(jī)模式
_sys_exit(int x)
{
x = x;
}
//重定義fputc函數(shù)
int fputc(int ch, FILE *f)
{
while((USART1->SR&0X40)==0);//循環(huán)發(fā)送,直到發(fā)送完畢
USART1->DR = (u8)ch;
return ch;
}
#endif
//end
//////////////////////////////////////////////////////////////////
#ifdefEN_USART1_RX //如果使能了接收
//串口1中斷服務(wù)程序
//注意,讀取USARTx->SR能避免莫名其妙的錯(cuò)誤
u8USART_RX_BUF[64]; //接收緩沖,最大64個(gè)字節(jié).
//接收狀態(tài)
//bit7,接收完成標(biāo)志
//bit6,接收到0x0d
//bit5~0,接收到的有效字節(jié)數(shù)目
u8USART_RX_STA=0; //接收狀態(tài)標(biāo)記
void USART1_IRQHandler(void)
{
u8 res;
if(USART1->SR&(1<<5))//接收到數(shù)據(jù)
{
res=USART1->DR;
if((USART_RX_STA&0x80)==0)//接收未完成
{
if(USART_RX_STA&0x40)//接收到了0x0d
{
if(res!=0x0a)
USART_RX_STA=0;//接收錯(cuò)誤,重新開始
else
USART_RX_STA|=0x80; //接收完成了
}else //還沒收到0X0D
{
if(res==0x0d)
USART_RX_STA|=0x40;
else
{
USART_RX_BUF[USART_RX_STA&0X3F]=res;
USART_RX_STA++;
if(USART_RX_STA>63)USART_RX_STA=0;//接收數(shù)據(jù)錯(cuò)誤,重新開始接收
}
}
}
}
}
#endif
//該函數(shù)的重點(diǎn)就是判斷接收是否完成,通過檢測(cè)是否收到0X0D、0X0A 的連續(xù)2 個(gè)字節(jié)//(0X0D 后跟0X0A表示回車鍵)來檢測(cè)是否結(jié)束。當(dāng)檢測(cè)到這個(gè)結(jié)束序列之后,就會(huì)置//位USART_RX_STA的最高為來標(biāo)記已經(jīng)收到了一次數(shù)據(jù)。之后等待外部函數(shù)清空該位//之后才開始第二次接收。所接收的數(shù)據(jù)全部存放在USART_RX_BUF里面,一次接收數(shù)//據(jù)不能超過64個(gè)字節(jié),否則被丟棄。
//初始化IO 串口1
//pclk2:PCLK2時(shí)鐘頻率(Mhz)
//bound:波特率
//CHECK OK
//091209
void uart_init(u32 pclk2,u32 bound)
{
float temp;
u16 mantissa;
u16fraction;
temp=(float)(pclk2*1000000)/(bound*16);//得到USARTDIV
mantissa=temp; //得到整數(shù)部分
fraction=(temp-mantissa)*16;//得到小數(shù)部分
mantissa<<=4;
mantissa+=fraction;
RCC->APB2ENR|=1<<2; //使能PORTA口時(shí)鐘
RCC->APB2ENR|=1<<14; //使能串口時(shí)鐘
GPIOA->CRH&=0XFFFFF00F;
GPIOA->CRH|=0X000008B0;//IO狀態(tài)設(shè)置
RCC->APB2RSTR|=1<<14; //復(fù)位串口1
RCC->APB2RSTR&=~(1<<14);//停止復(fù)位
//波特率設(shè)置
USART1->BRR=mantissa; // 波特率設(shè)置
USART1->CR1|=0X200C; //1位停止,無校驗(yàn)位.
#ifdefEN_USART1_RX //如果使能了接收
//使能接收中斷
USART1->CR1|=1<<8; //PE中斷使能
USART1->CR1|=1<<5; //接收緩沖區(qū)非空中斷使能
MY_NVIC_Init(3,3,USART1_IRQChannel,2);//組2,最低優(yōu)先級(jí)
#endif
}
主函數(shù)
#include<stm32f10x_lib.h>
#include"common.h"
int main(void)
{
u8 t;
u8 len;
u16times=0;
Stm32_Clock_Init(9);//系統(tǒng)時(shí)鐘設(shè)置
delay_init(72); //延時(shí)初始化
uart_init(72,9600);//串口初始化為9600
while(1)
{
if(USART_RX_STA&0x80)
{
len=USART_RX_STA&0x3f;//得到此次接收到的數(shù)據(jù)長(zhǎng)度
printf("\n您發(fā)送的消息為:\n");
for(t=0;t<len;t++)
{
USART1->DR=USART_RX_BUF[t];
while((USART1->SR&0X40)==0);//等待發(fā)送結(jié)束
}
printf("\n\n");//插入換行
USART_RX_STA=0;
}else
{
times++;
if(timesP00==0)
{
printf("\n 簡(jiǎn)單的串口實(shí)驗(yàn)\n");
}
if(times 0==0)printf("請(qǐng)輸入數(shù)據(jù),以回車鍵結(jié)束\n");
delay_ms(10);
}
}
}
實(shí)驗(yàn)現(xiàn)象:
| 歡迎光臨 (http://www.izizhuan.cn/bbs/) |
Powered by Discuz! X3.1 |
一女三黑人理论片在线|
久本草在线中文字幕亚洲欧美|
2022中文字幕|
国产精品免费观看在线|
日韩欧美中文免费|
狠狠色2019综合网|
成人另类视频|
二区在线播放|
天干夜天天夜天干天ww|
国产jzjzjz丝袜老师水多|
中文字幕在线观看网址|
欧美国产视频一区|
一区二区三区高清在线|
噜噜噜久久亚洲精品国产品小说|
成人动漫视频|
福利网站在线观看|
动漫黄在线观看|
久久精品最新免费国产成人|
中文字幕在线观看1|
欧美激情第六页|
欧美在线三级电影|
久久一二三国产|
性8sex亚洲区入口|
国产探花在线精品|
成人啊v在线|
91xxx在线观看|
天天操天天擦|
九九精品九九|
aaa级黄色片|
国产精品自拍视频一区|
99久久人妻精品免费二区|
精品国产免费久久久久久尖叫
|
亚洲国产另类久久久精品极度|
日本高清久久天堂|
久久精品99久久久久久久久|
欧美综合一区|
91亚洲精品视频在线观看|
丁香花在线观看完整版电影|
久久电影视频|
人与动性xxxxx免费视频|
又爽又黄的午夜网站|
影音先锋一区二区资源站|
亚洲天堂网视频|
欧美黑吊大战白妞|
韩国三级hd中文字幕|
亚洲第一区第二区第三区|
亚洲美免无码中文字幕在线|
亚洲欧美日韩在线综合|
精品综合在线|
av一区和二区|
成人高清视频观看www|
性欧美激情精品|
国产小视频国产精品|
亚洲第一页自拍|
91精品国产91综合久久蜜臀|
91国产视频在线观看|
五月开心婷婷久久|
亚洲一区二区综合|
一区二区高清在线|
亚洲免费成人av|
中文字幕欧美激情一区|
99久久婷婷国产综合精品电影|
另类中文字幕网|
丝袜美腿亚洲一区|
欧美**字幕|
亚洲+变态+欧美+另类+精品|
都市激情亚洲欧美|
国产图片一区|
精品按摩偷拍|
欧美在线导航|
欧美大胆a级|
网友自拍区视频精品|
网曝91综合精品门事件在线|
妖精一区二区三区精品视频|
欧美人与牛zoz0性行为|
欧美偷拍综合|
91精品综合久久久久久久久久久|
精品午夜久久|
亚洲五月综合|
影音av资源|
国产精品9区|
天堂资源最新版在线视频观看免费网|
性猛交富婆╳xxx乱大交天津|
国产精品高清无码|
国产精品九九九九|
少妇高潮一区二区三区99小说|
在线亚洲天堂|
www·91·com|
无套内精的网站|
玖草视频在线|
成人免费网址|
成人日韩在线观看|
国产成人澳门|
欧美电影《轻佻寡妇》|
亚洲午夜黄色|
国产一区二区三区四区五区美女|
91免费精品国自产拍在线不卡
|
国产成人涩涩涩视频在线观看|
国产精品爽爽爽|
色综合天天综合在线视频|
色狠狠综合天天综合综合|
91精品国产黑色紧身裤美女|
国产一区二区三区免费视频|
668精品在线视频|
成人免费观看网址|
色狠狠久久av五月综合|
可以在线看的av网站|
欧美日韩一区二区区别是什么|
午夜时刻免费入口|
日韩美一区二区|
亚洲精品免费在线观看视频|
精品视频二区三区|
亚欧黄色av|
欧美激情办公室videoshd|
蜜臀av在线|
日韩在线你懂得|
性高爱久久久久久久久|
久久久精品国产**网站|
99成人在线视频|
亚洲国内精品|
99精品视频网|
激情深爱一区二区|
久久麻豆一区二区|
亚洲大片免费看|
欧美日韩dvd在线观看|
国产精品不卡视频|
亚洲一区视频在线观看视频|
国产亚洲一区字幕|
日本精品一区二区三区高清
|
精品产国自在拍|
欧美日本在线|
美女久久久精品|
成人美女视频在线观看18|
ww久久中文字幕|
一区二区在线观看不卡|
欧美亚洲一区三区|
亚洲男女性事视频|
亚洲综合999|
欧美大胆一级视频|
免费不卡在线观看av|
久久久久久久久中文字幕|
久久久久久a亚洲欧洲aⅴ|
青青草精品视频在线|
伊人av在线播放|
五月天av网站|
jizz国产视频|
91蝌蚪91九色|
久久99精品久久久久久野外|
色婷婷成人网|
国产精品久久久久久久久妇女|
日本欧美在线看|
国产精品视频九色porn|
在线观看www91|
中文字幕综合在线|
久久人人97超碰人人澡爱香蕉|
又粗又黑又大的吊av|
av无码av天天av天天爽|
www.欧美色|
国内av一区二区|
黄色a级片在线观看|
亚洲av永久纯肉无码精品动漫|
色视频免费在线|
精品成人一区二区三区免费视频|
成人在线网站|
欧美一区二区三区久久精品|
成人18视频在线播放|
色综合视频在线观看|
97成人超碰免|
一本久久a久久精品vr综合|
av亚洲天堂网|
日韩 欧美 亚洲|
欧美色婷婷天堂网站|
一级片在线播放|
成人在线日韩|
欧美黄色a视频|
天天插综合网|
97se亚洲国产综合自在线不卡|
欧美性大战久久久久久久|
亚洲黄色av女优在线观看
|
91精品又粗又猛又爽|
youjizz在线视频|
国产成人精品免费视频大全软件|
中文字幕在线免费|
午夜精品福利影院|
国产日韩欧美制服另类|
精品国产露脸精彩对白|
国产欧美日韩丝袜精品一区|
中国丰满人妻videoshd
|
av一级毛片|
亚洲网站三级|
日本 国产 欧美色综合|
精品久久久久久久久久久|
久久国产精品偷|
亚洲图片在线观看|
亚洲精品国产精品国自产网站|
午夜国产福利|
欧洲不卡av|
久久国产电影|
亚洲国产精品精华液2区45|
99re成人精品视频|
亚洲成年人影院在线|
欧美视频小说|
欧美大波大乳巨大乳|
在线亚洲色图|
亚洲性图自拍|
亚洲一级一区|
午夜精品一区二区三区电影天堂
|
精品一区免费av|
亚洲а∨天堂久久精品喷水|
91视频免费进入|
久久久久亚洲av无码网站|
精品人妻一区二区三区换脸明星|
www污污在线|
久久香蕉网站|
亚洲激情自拍视频|
欧美猛交免费看|
免费看欧美黑人毛片|
日韩伦理在线视频|
四虎免费av|
天堂视频在线|
国产成人久久精品一区二区三区|
国产伦精品一区二区三区视频青涩|
91精品国产综合久久久久久久久久|
亚洲一区二区中文字幕|
北京富婆泄欲对白|
亚洲欧美色图区|
末成年女av片一区二区下载|
日本sm残虐另类|
欧美哺乳videos|
日韩欧美视频一区二区三区四区|
2014亚洲天堂|
www.青青草.com|
欧美日韩中文字幕一区二区三区
|
欧美韩日一区二区|
99热成人精品热久久66|
91麻豆视频在线观看|
蜜臀一区二区三区|
亚洲一级网站|
欧美日韩精品一区二区天天拍小说
|
中文字幕在线日本|
蝌蚪视频在线播放|
狠狠综合久久av一区二区蜜桃
|
97国产在线观看|
a在线观看免费视频|
亚洲成人在线播放|
二区三区不卡|
av成人老司机|
国产精品女主播|
国产精品九九九九九|
青青草视频导航|
久久夜色电影|
一区二区三区四区在线播放|
日产日韩在线亚洲欧美|
最新日韩免费视频|
国产二级片在线|
五月开心六月丁香综合色啪|
欧美色欧美亚洲另类二区|
欧美少妇一区|
中文字幕一二三四|
免费在线性爱视频|
久久婷婷麻豆|
国产香蕉精品视频一区二区三区|
国产极品尤物在线|
亚洲欧美日韩动漫|
美国成人xxx|
欧美日韩亚洲91|
你懂的视频在线一区二区|
日韩欧美视频在线免费观看|
国产福利在线|
成人免费黄色大片|
欧美一级淫片播放口|
国产精品九九九九九|
日本五十路在线|
影音国产精品|
亚洲天堂日韩电影|
亚洲欧美国产中文|
在线免费电影观看|
久久av网址|
欧美一卡二卡在线|
欧美亚洲另类色图|
精品无人区乱码1区2区3区免费|
日韩欧美视频在线播放|
欧美日韩高清在线播放|
久久天天躁日日躁|
在线精品视频播放|
97涩在线观看视频|
欧美日韩在线网站|
夜夜嗨av一区二区三区四区|
亚洲在线观看网站|
4hu永久免费入口|
国产欧美69|
xxx欧美精品|
羞羞在线观看视频|
av在线电影院|
99re这里只有精品首页|
国产日韩欧美在线观看|
免费毛片一区二区三区|
成人在线中文|
日韩欧美亚洲综合|
青青青青在线视频|
色图欧美色图|
欧美三级情趣内衣|
精品国模在线视频|
www.av欧美|
9色在线观看|
久久久久久久免费视频了|
国产99在线免费|
亚洲色图图片区|
欧洲激情视频|
亚洲午夜国产成人av电影男同|
久久久视频免费观看|
男女激烈动态图|
www日本高清视频|
欧美色女视频|
亚洲欧美激情精品一区二区|
亚洲婷婷在线观看|
亚洲精品无码专区在线播放|
久久99国产精品久久99|
国产伦精品一区二区三区视频孕妇
|
国产日韩三级|
亚洲а∨天堂久久精品9966|
男人添女人荫蒂国产|
一级视频在线观看|
中文字幕亚洲一区二区av在线
|
国产黄大片在线观看|
亚洲大型综合色站|
婷婷五月综合缴情在线视频|
xxxx性欧美黑人|
蜜桃一区二区三区四区|
国产精品www色诱视频|
国产在线一级片|
136福利精品导航|
精品国产乱码久久久久久久
|
久久国产精品99久久久久久老狼|
国产精品视频网|
国产精品视频一区二区三区,|
欧美高清影院|
亚洲天堂免费观看|
久热这里有精品|
成人视屏在线观看|
欧美日产在线观看|
天天综合天天添夜夜添狠狠添|
午夜免费福利在线观看|
亚洲精品免费一二三区|
秋霞无码一区二区|
免费国产视频|
久久婷婷国产综合国色天香
|
97精品国产99久久久久久免费|
欧美无人高清视频在线观看|
肉色超薄丝袜脚交|
www在线观看黄色|
欧美午夜精品久久久久久超碰|
深夜视频在线观看|
自由的xxxx在线视频|
亚洲最新在线观看|
伦理片一区二区|
中国xxxx自拍视频|
激情五月婷婷综合|
欧美日韩一区在线播放
|
久久久久久久麻豆|
成人污污视频|
亚洲成人999|
www.com国产|
嫩草一区二区三区|
91国产视频在线|
www.黄色片|
亚洲一区自拍|
亚洲在线免费观看|
国产三级电影|
国产麻豆成人精品|
欧美少妇一区|
最近中文字幕在线中文视频
|
久久91亚洲精品中文字幕奶水|
国产成人无码专区|
美女久久99|
2019av中文字幕|
超碰在线观看99|
国产一区导航|
国产一区二区高清视频|
一个人看的www片免费高清视频
|
亚洲影院在线看|
成人亚洲精品7777|
国产91精品精华液一区二区三区
|
任你弄在线视频免费观看|
亚洲韩国日本中文字幕|
日本道在线观看|
日韩免费视频|
国产日韩综合一区二区性色av|
日本xxxxxwwwww|
成人在线视频一区二区|
精品免费久久久久久久|
色网站在线免费观看|
日本精品视频一区二区|
久久综合色综合|
精品一区二区三|
51色欧美片视频在线观看|
palipali轻量版永久网页入口|
成人在线视频中文字幕|
亚洲2020天天堂在线观看|
一二三四日本中文字幕|