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 單片機教程網

快速回復 返回頂部 返回列表
久热中文字幕在线观看| 成人开心激情| 香蕉视频免费看| 欧美做受喷浆在线观看| 日韩在线国产| 国a精品视频大全| 884aa四虎影成人精品一区| 91原创在线视频| 综合精品久久| 高清美女视频一区| 美女视频黄的免费| 国产女同91疯狂高潮互磨| av电影网站在线观看| 日韩精品一区二区免费| 亚洲一区二区自拍| 欧美日韩国产999| 69久久夜色精品国产69蝌蚪网| 久久久亚洲午夜电影| 亚洲高清激情| 中文精品一区二区| 午夜影院免费在线| 亚洲男男gay视频| 国产又猛又黄又爽| 国产乱码久久久| 欧美特级一级片| 亚洲av综合色区无码另类小说| 一区在线电影| 99国产高清| 97热精品视频官网| 日韩av中文字幕在线播放| 精品国产福利视频| 亚洲国产高清aⅴ视频| 狠狠色丁香九九婷婷综合五月| 中出一区二区| 美女少妇全过程你懂的久久| 国模一区二区| 91豆花视频在线播放| 欧美xxx.com| 美日韩黄色片| www.色婷婷| 国产又白又嫩又紧又爽18p| www日本高清| 国产精品久久久久久久久夜色| 神马久久久久久久久久久| 91 视频免费观看| 日本wwww视频| 国产女人18毛片| 日本一区二区三区视频在线播放| 国产欧美一区二区| 欧美国产97人人爽人人喊| 久久中文字幕一区二区三区| 一区二区三区四区日韩| 亚洲瘦老头同性70tv| 国产精品一区二区精品视频观看| 蜜桃麻豆av在线| 欧美xxxx免费虐| 免费大片黄在线观看视频网站| 在线免费av观看| 黄色网址入口| 中文字幕桃花岛| 天天草天天干| www.色婷婷| jizz视频| 欧美色老女人| 2020中文字幕在线| 亚州av影院| 国内拍拍自拍视频在线观看| 在线视频影院| 一级美女在线| 色一情一欲一爱一乱| 成人亚洲国产| 日本一卡2卡三卡4卡网站| xxxxx欧美| 一个人看的日本www的免费视频| 久久99国产视频| 国产美女视频网站| 同性恋视频网站资源| 日本jizzcom| 黄色在线资源| www.天天射| 天天操夜夜操免费视频| 成人网址大全| 影音先锋日韩| 国产精品久久久亚洲第一牛牛| 国产大学生自拍视频| 狠狠色噜噜狠狠狠| 免费看av大片| 国外av在线| 三级外国片在线观看视频| 免费av网站在线看| 国产极品人妖在线观看| 中文字幕av一区二区三区佐山爱| 草民电影神马电影一区二区| 亚洲久草在线| 欧洲亚洲视频| 亚洲精品极品少妇16p| 精品福利av| 久久99热99| 久久久一区二区三区捆绑**| 一区二区视频免费在线观看| 欧美性高潮床叫视频| 欧美精品久久天天躁| 精品亚洲一区二区三区在线观看| 日韩亚洲欧美中文高清在线| 国内精品久久影院| 一区二区三区中文在线观看| 亚洲第一狼人社区| 欧美日韩aaaaa| 日韩成人免费视频| 欧美老女人xx| 91丝袜美腿美女视频网站| 欧美二区在线| 国产精品宾馆在线精品酒店| 国产精品无码自拍| 国产探花在线播放| 国产免费的av| 国产精品伦一区二区三区级视频频| 国产色视频网站| 成人在线免费看| 欧美巨大丰满猛性社交| 精品视频一区二区三区在线观看| 欧美综合一区| 久久99精品久久久久久动态图| 国产日韩影视精品| 欧美午夜一区二区| 日韩中文字幕国产精品| 国产精品成熟老女人| 欧美深深色噜噜狠狠yyy| wwwxxx黄色片| 性色国产成人久久久精品| 中文字幕一区二区三区四区视频 | 亚洲一区精品在线| 日韩三级免费观看| 色综合视频网站| 国产精品我不卡| 国产精品一线二线三线| 日本一级片在线播放| 国产精品国产三级国产专区52| 在线观看亚洲电影| 电影天堂最新网址| 国产高清在线a视频大全| 成人av激情人伦小说| 久久精品66| 三级亚洲高清视频| 日韩一区中文字幕| 亚洲第一区在线| 国产精品丝袜白浆摸在线| 永久久久久久| 水蜜桃av无码| 国产精品伊人久久| 丁香综合五月| 蜜桃视频在线观看免费视频| 色爱综合网欧美| 91免费看片在线观看| 欧美精品欧美精品系列| 欧美做受高潮1| 免费网站在线观看视频| 熟女高潮一区二区三区| www.日韩高清| 诱受h嗯啊巨肉高潮| 欧美日韩成人影院| 91精品国产91久久久久游泳池 | 日本xxxxwwww| 黄视频网站在线观看| 第一会所亚洲原创| 91在线看国产| 精品日韩在线观看| 国产欧美在线视频| 日日碰狠狠丁香久燥| 国产在线综合网| xxxx性欧美黑人| 性欧美videoshd高清| 老牛影视av一区二区在线观看| 免费不卡在线视频| 在线免费观看不卡av| 3344国产精品免费看| 国产日本在线播放| 久久9999久久免费精品国产| 91视频网址免费观看| 欧美理论电影| 亚洲第一网站| 亚洲超碰97人人做人人爱| 久久91超碰青草是什么| 熟妇熟女乱妇乱女网站| 韩国一级黄色录像| 91社区视频| 日韩精品影院| 黑人精品欧美一区二区蜜桃| 91麻豆精品国产91久久久久| 国产在线a不卡| 国产51自产区| 天堂√中文在线| 午夜小视频福利在线观看| 亚洲一区激情| 8x8x8国产精品| 麻豆成人av| 国产精品白丝喷水在线观看| 好爽好深好紧好大| 麻豆国产精品| www成人在线观看| 色婷婷av一区二区三区在线观看 | 国产免费不卡av| av在线播放免费| 欧美色图麻豆| 欧美少妇xxx| 国产精品二区在线观看| 成人性生交大片免费观看嘿嘿视频| 免费激情视频在线观看| 91一区二区视频| 欧美被日视频| 久久婷婷麻豆| 日韩视频一区二区三区| 日韩欧美手机在线| 天天操天天干视频| 羞羞视频在线免费看| 综合日韩在线| 在线播放91灌醉迷j高跟美女 | 一级做a爰片久久毛片| 小小水蜜桃在线观看| 99热国内精品| 欧美三级在线视频| 秋霞毛片久久久久久久久| 久久久久亚洲天堂| 全网国产福利在线播放| 日韩精品一卡| 色综合久久久久久久| 成人午夜激情免费视频| 亚洲熟妇无码另类久久久| 国产强被迫伦姧在线观看无码| 日本一区高清| 亚洲女同在线| 在线成人高清不卡| 欧美亚洲免费在线| 精品在线观看一区| 最新中文在线视频| 欧美激情欧美| 色乱码一区二区三区88| 玛丽玛丽电影原版免费观看1977| 四虎影视一区二区| jizz亚洲大全| 欧美色综合一区二区三区| 亚洲承认在线| 日韩欧美在线1卡| 四虎一区二区| 国内精品久久久久久久久久久| 丝袜美腿美女被狂躁在线观看 | 国产cdts系列另类在线观看| 伊人网在线播放| ww久久中文字幕| 91国偷自产一区二区三区的观看方式| 国产一级做a爰片久久| 欧美一级特黄aaaaaa| www在线观看黄色| 国产成人在线观看免费网站| 最近2019年好看中文字幕视频| 中文字幕国内自拍| 欧美做a欧美| 国产精品毛片无码| 亚洲精品视频在线| 国产精品在线看| 成人欧美一区二区三区黑人一| 成年人免费看的视频| 好吊一区二区三区| 精品欧美久久久| 欧美久久在线观看| 欧美日韩亚洲国内综合网| 国产精品一区二区三区www| 久久sese| 艳女tv在线观看国产一区| 欧美精品一区二区三区蜜桃视频 | 怡红院精品视频| 午夜免费精品视频| 可以在线观看的黄色网址| 免费一区二区三区视频导航| 日本韩国一区二区三区视频| 精品国产乱码久久久久久蜜柚| 中文字幕第一页在线播放| xxxcom在线观看| 久久久九九九九| 国产一区自拍视频| 波多野结衣一区二区三区四区| 亚洲欧美成人影院| 有码一区二区三区| 欧美精品与人动性物交免费看| 国产一级片一区二区| 国产在线视频你懂| 精品一区二区三区视频在线观看| 欧美日韩成人精品| 中文字幕在线观看的网站| 美国成人毛片| 国产成人丝袜美腿| 国产精品久久久久久久久粉嫩av| 国产精品21p| 亚洲精品福利电影| 亚洲精品久久久久久国产精华液| 青青草国产精品| 乱精品一区字幕二区| 久久伊人精品| 日韩欧美精品中文字幕| 欧美 激情 在线| 黄色免费视频观看| 亚洲精品视频啊美女在线直播| 欧美激情亚洲一区| 欧美激情图片小说| 中文字幕资源网在线观看| 亚洲一区二区精品3399| 在线丝袜欧美日韩制服| 久久影院朴妮唛| 国产一在线精品一区在线观看| 色婷婷综合久久久久中文字幕1| 国产伦精品一区三区精东| 天天色天天草天天射| 国产麻豆精品视频| 成人免费网站在线| 91丨九色丨丰满| 色琪琪久久se色| 中文字幕亚洲图片| 91在线无精精品白丝| 免费看男女www网站入口在线| 亚洲综合清纯丝袜自拍| 日本xxxxx18| av在线天天| 国产精品一区三区| 3d动漫精品啪啪一区二区三区免费| 欧美一区二区三区成人片在线| 竹菊久久久久久久| 亚洲香蕉成视频在线观看| 欧美日韩在线视频免费| 日韩在线伦理| 在线免费视频一区二区| 日韩精品一区二区三区高清免费| 成人免费黄色网页| 亚洲美女一区二区三区| 日本888xxxx| 成人福利视频导航| 972aa.com艺术欧美| 99热一区二区三区| 成看片vvv222| 激情欧美一区二区三区在线观看| 国产欧美欧洲| 中文字幕亚洲免费| 99精品福利视频| 国产一区二区三区高清| 性欧美极品另类| 久久成人在线| 欧美国产二区| 91蝌蚪视频九色| 久久精品久久99精品久久| 日本免费一区二区三区| 国产精品二区视频| 爱久久·www| 欧美性受xxxx黑人xyx性爽| 日韩av自拍偷拍| 国产1区2区3区在线| 欧美性极品xxxx做受| 在线成人免费av| 黄色免费网站在线| 欧美性色19p| 中文字幕一二三区| 涩涩视频在线播放| 日韩一级欧美一级| 国产一区二区三区视频播放| 国产亚洲精aa在线看| 亚洲人成在线一二| 欧美一级高潮片| 亚洲亚洲一区二区三区| 正在播放亚洲1区| 男人天堂2024| 精品国产aⅴ| 久久香蕉国产线看观看av| 99久久精品国产成人一区二区 | 欧美成人高清在线| 91久久国产综合久久| 日本黄色免费片| 日韩中文字幕无砖| 美女av一区二区三区| 日本波多野结衣在线| 99视频精品免费观看| 国产精品欧美日韩| 无遮挡又色又刺激的女人视频| 成人97人人超碰人人99| 亚洲熟妇无码av在线播放| 香蕉av在线| 色天天综合久久久久综合片| 久久久久麻豆v国产| 国产乱论精品| 欧美一区第一页| 蜜桃视频涩涩| 国产精品天干天干在线综合| 精品人妻二区中文字幕| 粉嫩一区二区三区| 在线播放日韩欧美| 香蕉视频成人在线| 国产激情精品久久久第一区二区 | 午夜大片在线观看| 国产精品久久久久久av公交车| 久久久国产精品免费| 天堂中文在线观看| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲精品国产精品国自产观看浪潮|