日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]今天多學習幾個模塊,首先是蜂鳴器。板上所用的是無源蜂鳴器,可以用直流電壓直接驅動。還有一種叫有源蜂鳴器,要使用頻率的方波才能驅動。使用的蜂鳴器的驅動電壓,典型值為5V,額定工作電流為30mA。STM32的GPIO管腳

今天多學習幾個模塊,首先是蜂鳴器。板上所用的是無源蜂鳴器,可以用直流電壓直接驅動。還有一種叫有源蜂鳴器,要使用頻率的方波才能驅動。

使用的蜂鳴器的驅動電壓,典型值為5V,額定工作電流為30mA。STM32的GPIO管腳絕大多數能承受5V的電壓,但是承受的電流最多為25mA,還需要使用三極管將電流放大,并且采用了一個限流電阻。我們把與蜂鳴器的GPIO設置為推挽輸出,當輸出1時,蜂鳴器響。當輸出0時蜂鳴器滅。下面是我封裝的文件:

BEEP.C

#include "beep.h"

void BEEP_Configuration(void)

{

GPIO_InitTypeDefGPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //打開時鐘

GPIO_InitStructure.GPIO_Pin =BEEP ;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;

GPIO_Init(GPIOA, &GPIO_InitStructure);

}

BEEP.H

#ifndef __BEEP_H

#define __BEEP_H

#include "stm32f10x_conf.h"

#define BEEPGPIO_Pin_3

#define BEEP_ON()GPIOA->BRR = BEEP

#define BEEP_OFF()GPIOA->BSRR = BEEP

//#define BEEP_ON() GPIO_ResetBits(GPIOA, BEEP)

//#define BEEP_OFF() GPIO_SetBits(GPIOA, BEEP)

void BEEP_Configuration(void);

#endif

串口模塊。串口是電腦常用的設備,雖然筆記本上沒有串口,使用USB轉串口線就相當有串口的功能。串口簡單容易實現,常常用于程序的打印顯示等等。串口屬于串行通信協議,大體指的是在一個線上傳遞多位數據,像SPI/I2C/USB都屬于串行通信協議。串口模式通常使用3根線:(1)地GND,(2)發(fā)送TXD,(3)接收RXD。編程的時候只需配置好波特率,常用的是9600,意思就是每秒發(fā)生9600bit,我們知道一個字節(jié)等于8個比特位,如果要采集卡要傳輸1M個unsigned char的數據,大約要二十多分鐘。當然我們可以把波特率提高,STM32最高能支持4.5M/S,但是速度增加,傳輸的距離將速度,誤碼率會提高。

軟件編程的時候我們首先:打開相應功能的時鐘,比如使用到串口一引腳的GPIOA時鐘和串口一時鐘USART1。然后我們對引腳和串口進行相應的配置。最后調用庫函數寫相應的功能。簡單而言就是:時鐘—配置—功能。STM32有一優(yōu)勢是,對于不同芯片有些功能對應的引腳是相同的。比如串口一,我發(fā)現大多數都是對于PA9和PA10的。在IAR環(huán)境中,如果要使用printf,需要進行如下的設置。好像IAR對puts不是很支持,打印字符用printf還行,最后是效果圖。


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉