wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

標(biāo)題: STM32之串口通信 [打印本頁(yè)]

作者: 51黑tt    時(shí)間: 2016-3-4 20:13
標(biāo)題: STM32之串口通信
實(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天天堂在线观看| 一二三四日本中文字幕|