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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3119|回復: 0
打印 上一主題 下一主題
收起左側

STM32之串口通信

[復制鏈接]
跳轉到指定樓層
樓主
ID:107189 發表于 2016-3-4 20:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
實驗目的:
實現利用串口1不停的打印一個信息到電腦上,同時接收從串口發過來的數據,把發送過來的數據直接送回給電腦。
實驗平臺:
基于STM32F103C8T6的彩屏開發板
硬件接口:
      
注意:因為我的開發板上的串口和LED共用了PA9和PA10,所以在使用USART1時務必屏蔽LED,不然兩者會互相影響而導致實現現象無法呈現。
相關寄存器:
1,串口時鐘使能。串口作為STM32 的一個外設,其時鐘由外設時鐘使能寄存器控制,這
里我們使用的串口1 是在APB2ENR 寄存器的第14 位。
2,串口復位。串口1 的復位是通過配置APB2RSTR 寄存器的第14位來實現的。。通過向該位寫1來復位串口1,寫0 結束復位。
3,串口波特率設置。每個串口都有一個自己獨立的波特率寄存器USART_BRR
波特率的計算,STM32 的串口波特率計算公式如下:
                       
上式中, 是給串口的時鐘(PCLK1 用于USART2、3、4、5,PCLK2 用于USART1);USARTDIV是一個無符號定點數。我們只要得到USARTDIV 的值,就可以得到串口波特率寄存器USART1->BRR的值。
4,串口控制。STM32 的每個串口都有3 個控制寄存器USART_CR1~3,串口的很多配置
都是通過這3 個寄存器來設置的
5,數據發送與接收。STM32 的發送與接收是通過數據寄存器USART_DR 來實現的,這是
一個雙寄存器,包含了TDR 和RDR。
6,串口狀態。串口的狀態可以通過狀態寄存器USART_SR 讀取。
(注:詳細的介紹使用請參考ST公司的數據手冊)
程序設計:
(注:本人的usart.c usart.h delay.cdelay.h sys.c sys.h是引用網上一位網友整理的)
    usart.h
#ifndef __USART_H
#define __USART_H
#include<stm32f10x_lib.h>
#include"stdio.h"   
extern u8USART_RX_BUF[64];    //接收緩沖,最大63個字節.末字節為換行符
extern u8USART_RX_STA;        //接收狀態標記   
//如果想串口中斷接收,請不要注釋以下宏定義
#define EN_USART1_RX //使能串口1接收
void uart_init(u32 pclk2,u32 bound);
#endif     
    usart.c
#include "sys.h"
#include "usart.h"
//加入以下代碼,支持printf函數,而不需要選擇useMicroLIB   
#if 1
#pragmaimport(__use_no_semihosting)            
//標準庫需要的支持函數               
struct __FILE
{
  int handle;
};
FILE__stdout;      
//定義_sys_exit()以避免使用半主機模式   
_sys_exit(int x)
{
  x = x;
}
//重定義fputc函數
int fputc(int ch, FILE *f)
{     
while((USART1->SR&0X40)==0);//循環發送,直到發送完畢  
  USART1->DR = (u8)ch;     
  return ch;
}
#endif
//end
//////////////////////////////////////////////////////////////////
#ifdefEN_USART1_RX   //如果使能了接收
//串口1中斷服務程序
//注意,讀取USARTx->SR能避免莫名其妙的錯誤   
u8USART_RX_BUF[64];    //接收緩沖,最大64個字節.
//接收狀態
//bit7,接收完成標志
//bit6,接收到0x0d
//bit5~0,接收到的有效字節數目
u8USART_RX_STA=0;      //接收狀態標記   
void USART1_IRQHandler(void)
{
  u8 res;   
if(USART1->SR&(1<<5))//接收到數據
{  
     res=USART1->DR;
     if((USART_RX_STA&0x80)==0)//接收未完成
     {
         if(USART_RX_STA&0x40)//接收到了0x0d
         {
             if(res!=0x0a)
                 USART_RX_STA=0;//接收錯誤,重新開始
             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;//接收數據錯誤,重新開始接收   
             }      
         }
     }                                             
  }                                          
}
#endif
//該函數的重點就是判斷接收是否完成,通過檢測是否收到0X0D、0X0A 的連續2 個字節//(0X0D 后跟0X0A表示回車鍵)來檢測是否結束。當檢測到這個結束序列之后,就會置//位USART_RX_STA的最高為來標記已經收到了一次數據。之后等待外部函數清空該位//之后才開始第二次接收。所接收的數據全部存放在USART_RX_BUF里面,一次接收數//據不能超過64個字節,否則被丟棄。                                   
//初始化IO 串口1
//pclk2:PCLK2時鐘頻率(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;             //得到整數部分
  fraction=(temp-mantissa)*16;//得到小數部分
   mantissa<<=4;
  mantissa+=fraction;
RCC->APB2ENR|=1<<2;  //使能PORTA口時鐘
RCC->APB2ENR|=1<<14; //使能串口時鐘
GPIOA->CRH&=0XFFFFF00F;
GPIOA->CRH|=0X000008B0;//IO狀態設置
      
RCC->APB2RSTR|=1<<14;  //復位串口1
RCC->APB2RSTR&=~(1<<14);//停止復位      
  //波特率設置
USART1->BRR=mantissa; // 波特率設置
USART1->CR1|=0X200C; //1位停止,無校驗位.
#ifdefEN_USART1_RX        //如果使能了接收
  //使能接收中斷
USART1->CR1|=1<<8;   //PE中斷使能
USART1->CR1|=1<<5;   //接收緩沖區非空中斷使能      
MY_NVIC_Init(3,3,USART1_IRQChannel,2);//組2,最低優先級
#endif
}
  主函數
#include<stm32f10x_lib.h>
#include"common.h"   
int main(void)
{        
  u8 t;
  u8 len;
  u16times=0;
  Stm32_Clock_Init(9);//系統時鐘設置
  delay_init(72);    //延時初始化
  uart_init(72,9600);//串口初始化為9600
  while(1)
  {
     if(USART_RX_STA&0x80)
     {                    
         len=USART_RX_STA&0x3f;//得到此次接收到的數據長度
         printf("\n您發送的消息為:\n");
         for(t=0;t<len;t++)
         {
             USART1->DR=USART_RX_BUF[t];
             while((USART1->SR&0X40)==0);//等待發送結束
         }
         printf("\n\n");//插入換行
         USART_RX_STA=0;
     }else
     {
         times++;
         if(timesP00==0)
         {
             printf("\n 簡單的串口實驗\n");
         }
         if(times 0==0)printf("請輸入數據,以回車鍵結束\n");
         delay_ms(10);  
     }
}  
}
實驗現象:



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
国产精品欧美久久久久一区二区| 亚洲永久在线| 欧美日韩国产亚洲沙发| 欧美日韩黄色网| 91久久久亚洲精品| 婷婷激情综合网| 国产一区二区三区综合| 日韩在线第七页| 姬川优奈av一区二区在线电影| 99热在线网站| 国产卡二和卡三的视频| 国产免费视频一区二区三区| 波多野结衣一二三四区| 亚洲不卡视频在线| 伊人久久大香线蕉午夜av| 国产精品91一区| 亚洲天堂日韩电影| 在线观看www91| 欧美国产精品久久| 国产精品综合一区二区| 亚洲美女视频在线免费观看| 精品久久ai| 网友自拍亚洲| caopen在线视频| 尤物视频免费在线观看| 白丝美女让我捅| 桃花网日韩影视在线观看视频| 一级做a爱片久久毛片| 九九热只有精品| 亚洲最大成人网站| 黄色三级视频在线| 交换做爰国语对白| 免费大片在线观看| 最新av网址在线观看| 麻豆蜜桃91| 亚洲一区久久久| 国产激情久久久| 成人免费看片网站| 国产主播在线一区| 国产精品视频区1| 欧美在线免费视频| 久久综合免费视频| 国产视频综合在线| 欧美xingq一区二区| 欧美视频精品在线| 欧洲在线/亚洲| 亚洲精品一区二区三区福利 | 免费看国产精品一二区视频| 五月天激情图片| 不用播放器的免费av| 黄色a级片免费| 国产 福利 在线| 日韩av综合在线观看| 黄色一级片免费播放| 男人的天堂免费| 国产xxxxhd| 亚洲精品成人av久久| 欧美一区二区三区四| 成人毛片在线播放| 国产又黄又爽又色| 婷婷伊人综合中文字幕| 香蕉视频黄色片| 亚洲成人国产综合| 露脸国产精品自产在线播| 欧美人与动性xxxxx杂性| 日日夜夜国产| 91免费版在线观看| 成人福利影视| 日韩美女在线看免费观看| 天堂日韩电影| 四季av在线一区二区三区| 亚洲91精品| 国产亚洲视频在线观看| 在线播放亚洲激情| 午夜精品久久久久99热蜜桃导演| 色综合五月天导航| 午夜精品福利一区二区蜜股av| 韩国成人在线视频| 欧美fxxxxxx另类| 欧美成人一品| 亚洲深夜影院| 五月综合激情| 国产成人aa在线观看网站站| 波多野结衣久久精品| av免费在线一区二区三区| 成人三级av| 国产精品免费视频一区二区三区| 国产极品美女到高潮| xxx电影网| 黄色直播在线| 久艹在线视频| 日本三级在线播放完整版| 中文字幕免费在线观看| 免费男女羞羞的视频网站中文字幕| 国产人成精品| 性xxxxxxxxx18欧美| 91短视频推广| 性欧美高清强烈性视频| 人与牲动交xxxbbb| 国产中文第一页| 娇小发育未年成性色xxx8| 国产成人va亚洲电影| 亚洲精品自产拍在线观看app| 国产一级黄色大片| 爱爱免费视频网站| 97国产视频| a√在线中文网新版址在线| 98色花堂精品视频在线观看| 免费人成在线观看播放视频 | 精品国产一区二区三区久久狼黑人| 这里只有精品电影| 欧美在线观看你懂的| 精品成人a区在线观看| 欧美成人精品xxx| 不卡中文字幕av| 国产精品人人做人人爽| 欧美深深色噜噜狠狠yyy| 蜜桃臀一区二区三区| 9色porny| 欧美 日韩 亚洲 一区| 国内精品视频一区二区三区| 久久久久久人妻一区二区三区| 巨乳女教师的诱惑| 六十路息与子猛烈交尾| 日韩少妇一区二区| 日本一卡二卡在线| 国产成人在线网址| 国产一级黄色av| 日本视频在线观看免费| 亚洲永久精品一区| 国产偷拍一区二区| 香蕉视频网站在线播放| 91福利免费| 黄色美女视频在线观看| 最新精品国偷自产在线| 99精品在线观看| 国产一区激情在线| 精品日本高清在线播放| 欧美喷水一区二区| 精品少妇一区二区三区在线视频| 91国内精品久久| 国产美女扒开尿口久久久| 国产精品果冻传媒潘| 日本成人黄色免费看| 国产精品三级一区二区| 999精彩视频| av网站有哪些| 最新一区二区三区| 亚洲三级中文字幕| 在线91av| 88久久精品| 欧美国产先锋| 国产网红主播福利一区二区| 亚洲成人av电影| 91精品国产欧美一区二区成人| 精品国产一区二区三区忘忧草 | 成人免费观看在线观看| 亚洲影视资源| 欧美精品第一区| 亚洲欧洲另类| 日韩一区欧美小说| 欧美日韩精品电影| 日韩美女在线观看| 亚洲永久一区二区三区在线| 动漫av免费观看| 成人一级片免费看| 亚洲天堂免费av| 欧美娇小极度另类| yjizz视频网站在线播放| 日韩不卡免费高清视频| 亚洲国产激情| 姬川优奈aav一区二区| 欧美二区乱c黑人| 日本香蕉视频在线观看| 精品少妇一二三区| 成年网在线观看免费观看网址| 在线观看免费国产小视频| 综合激情网...| 不卡av电影在线播放| 精品久久久香蕉免费精品视频| 久久精品免费播放| 鬼打鬼之黄金道士1992林正英| 亚洲精品无码国产| 蜜桃传媒一区二区亚洲av | 青青草视频在线免费播放| 日本三级视频在线| 天天综合网色中文字幕| 国产美女被遭强高潮免费网站| 亚洲丝袜一区| 北条麻妃一区二区三区在线| 日韩视频在线一区二区三区 | 国产成人久久久| 亚洲一级片网站| caoporn91| 天堂中文在线看| 免费网站免费进入在线| 亚洲激情av| 欧美日韩中文一区| 欧美诱惑福利视频| 爱豆国产剧免费观看大全剧苏畅| www.午夜激情| 看黄的a网站| 日韩在线麻豆| 国产精品成人在线观看| 亚洲欧美综合区自拍另类| 日韩第一页在线观看| 日本乱子伦xxxx| 天天操天天操天天干| 黄色网在线播放| 成人短片线上看| 99r国产精品| 日韩欧美不卡一区| 国产精品无av码在线观看| 免费看91视频| 欧美free性| 色综合.com| 日韩国产高清在线| 欧美日韩在线一区| 99久久精品无码一区二区毛片| 深爱五月激情网| 黄色毛片免费看| 欧美美乳视频| 色香蕉久久蜜桃| 奇米成人av国产一区二区三区| 久久这里只有精品8| 91国内精品久久久| 日本三级韩国三级欧美三级| 99精品电影| 欧美日韩一区小说| 亚洲精品高清国产一线久久| 国产成人在线网址| 日本女优北野望在线电影| japanese色系久久精品| 中文字幕日本不卡| 成人午夜在线影院| 无码人妻丰满熟妇区毛片蜜桃精品| 香蕉久久视频| av网站在线看| 国产精品一区二区91| 九九热视频这里只有精品| 野外做受又硬又粗又大视频√| 99国产精品欲| 国产伦精品一区二区三区视频金莲| 99re6这里只有精品视频在线观看| 国内精品久久久久久久久| www.com毛片| 中文字字幕在线中文乱码| 在线激情av| 99视频一区| 国产亚洲欧洲黄色| 日本精品一区在线| 德国性xxxx| 欧美三级视频| 欧美日韩国产高清一区二区三区 | 7777kkkk成人观看| 国产综合精品在线| 亚洲第一成年免费网站| 午夜精品久久久久久久四虎美女版| 欧美日韩国产影片| 青青青免费在线| 国产精品9区| 欧美xxav| 国产亚洲成精品久久| 无码国产69精品久久久久网站 | 先锋资源男人站| 都市激情久久| 欧美美女黄视频| 欧美人xxxxx| 国产精品毛片一区视频播| 91精彩视频在线播放| 国产精品白丝av| 国产精品丝袜高跟| 羞羞影院体验区| 亚洲天堂手机| 99久久99久久免费精品蜜臀| 国产精品福利在线观看网址| 国产精品久久不卡| 四虎在线免费观看| 成人精品在线视频观看| 欧美国产日韩一区二区三区| av电影网站在线观看| 加勒比一区二区三区在线| 亚洲男女自偷自拍| 欧美激情xxxx性bbbb| 欧美成人精品激情在线视频| 一级二级在线观看| 国产成a人无v码亚洲福利| 久久久久久久久久国产精品| 亚洲第一色av| 日本一区二区三区电影| 国产精品羞羞答答xxdd| 95av在线视频| 亚洲不卡免费视频| 台湾成人免费视频| 日本一区二区高清| 日韩三级电影| 精品人妻一区二区三区三区四区| 国产亚洲字幕| 欧美性猛交xxxx乱大交极品| 精品国产电影| 欧美 亚洲 另类 激情 另类| www.综合网.com| 欧美日韩国产色| 波多野结衣天堂| 国产69精品久久久久孕妇| 成人福利在线看| 欧美日韩一区二| 国产又粗又大又长| 日韩中文字幕亚洲一区二区va在线| 国产成人亚洲综合91| 精品国产黄色片| 91精品麻豆| 亚洲成年人影院在线| www.中文字幕av| av电影在线免费| 在线观看av一区| 中国特级黄色大片| 肉体视频在线| 在线免费视频一区二区| 在线观看免费看片| www国产在线观看| 在线影院国内精品| 69xxx免费视频| 日本女优北野望在线电影| 99re在线视频这里只有精品| 亚洲午夜精品一区二区| h在线观看免费| 成人视屏免费看| 男女h黄动漫啪啪无遮挡软件| 欧美性受xxxx黑人爽| 免费在线日韩av| 古典武侠综合av第一页| 国产免费一级| 久久国产剧场电影| 5278欧美一区二区三区| 国产模特av私拍大尺度| 欧美日韩18| 91最新国产视频| 国产一级黄色| 国产一区二区精品久久99| 亚洲黄色一区二区三区| 国产对白在线| 中文字幕在线不卡视频| 免费大片在线观看| 国产在线1区| 91精品久久久久久久99蜜桃| 国产一区在线观看免费| 亚州一区二区| 精品国产伦一区二区三区免费 | 18成人在线观看| 在线观看免费av网址| 922tv免费观看在线| 亚洲另类中文字| 永久免费看av| 一卡二卡三卡亚洲| 欧美性猛交xxxx黑人| 久久久久亚洲AV成人无码国产| 欧美xxxxxx| 这里精品视频免费| 欧美a级片免费看| 男人天堂亚洲天堂| 午夜影院久久久| 国产精品一区二区人妻喷水| 久久久一本精品| 久久久国产精品x99av| 国产suv精品一区二区69| 国产精品视区| 一区不卡视频| 美丽的姑娘在线观看免费动漫| 一本高清dvd不卡在线观看| 中文字幕网站在线观看| 第四色在线一区二区| 欧美一区视频在线| 国产欧美日韩第一页| 久久精品免费在线观看| 国产5g成人5g天天爽| 日韩经典一区| 性色av一区二区三区红粉影视| 国产成人精品一区二区色戒| 欧美va天堂| 日韩福利二区| 美女做暖暖视频免费在线观看全部网址91| 欧美色老头old∨ideo| 日本在线小视频| 亚洲第一黄网| 风间由美一区二区三区| jizzwww| 亚洲二区在线视频| 91麻豆精品国产91久久综合| 精品久久一区| 欧美在线视频a| 99高清免费国产自产拍| 亚洲欧美综合网| 国产7777777| 日韩一区自拍| 亚洲不卡一卡2卡三卡4卡5卡精品| h片在线观看视频| 亚洲国产视频一区| 国产原创剧情av| 伦理一区二区三区|