娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年04月10日(星期四)

正在發生

2019年04月10日 | STM32F103利用定時器2與串口接收指令控制LED亮度

發布者:快樂奇跡 來源: eefocus關鍵字:STM32F103  定時器2  串口接收  指令控制  LED亮度 手機看文章 掃描二維碼
隨時隨地手機看文章

通過串口接收到的數據改變PA8輸出的占空比來控制LED小燈的亮度


主函數


char *str_light = "LIGHT:";

unsigned char PWM_BUF = 0;

 

int main(void)

{

PWM_Init();

USART3_TIM2_Init(115200);

delay_init();

while(1)

{

if(RX_SATA == 1)

{

if(strstr(RX_BUF,str_light) != 0)

{

delay_ms(1);

PWM_BUF =(RX_BUF[6]-0x30)*10+(RX_BUF[7]-0x30);

TIM_SetCompare1(TIM1,PWM_BUF);

}

RX_SATA = 0;

count = 0;

memset(RX_BUF,0,strlen(RX_BUF));

}

}

}

配置USART3和TIM2


char RX_BUF[20] = {0};

u8 count = 0;

u8 RX_SATA = 0;// 0表示接受未完成 ;1表示接收完成

 

void USART3_TIM2_Init(u32 bound)

{

NVIC_InitTypeDef NVIC_InitStructure;

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

 

GPIO_InitTypeDef GPIO_InitStructure;

USART_InitTypeDef USART_InitStructure;


//開啟GPIOB 和 復用功能時鐘

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO,ENABLE);

//開啟USART3的時鐘

RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);


//PB10 ->Tx 配置為復用推挽式輸出 

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

GPIO_Init(GPIOB, &GPIO_InitStructure);


//PB11 ->Rx 配置為浮空輸入

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

GPIO_Init(GPIOB, &GPIO_InitStructure);

 

//配置串口

USART_InitStructure.USART_BaudRate = bound;

USART_InitStructure.USART_WordLength = USART_WordLength_8b;

USART_InitStructure.USART_StopBits = USART_StopBits_1;

USART_InitStructure.USART_Parity = USART_Parity_No;

USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;

USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;

USART_Init(USART3, &USART_InitStructure);

 

USART_ITConfig(USART3,USART_IT_RXNE,ENABLE);//配置串口接收為中斷模式


 

NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);


USART_Cmd(USART3,ENABLE);


USART_GetFlagStatus(USART3,USART_FLAG_TC);//防止第一個字符被吞


//使能定時器2的時鐘

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);


 

TIM_TimeBaseStructure.TIM_Period = (100-1);//ARR

TIM_TimeBaseStructure.TIM_Prescaler = (7200-1);//PSC

TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

TIM_TimeBaseInit(TIM2, & TIM_TimeBaseStructure);

 

//使能定時器2的中斷

TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);


//配置定時器2的中斷優先等級

NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);

 

//使能定時器2

TIM_Cmd(TIM2,DISABLE);


}

void USART3_IRQHandler(void)

{

USART_ClearFlag(USART3,USART_FLAG_RXNE);

RX_BUF[count] = USART_ReceiveData(USART3);

count++;

TIM_SetCounter(TIM2,0);

TIM_Cmd(TIM2,ENABLE);

}

 

void TIM2_IRQHandler(void)

{

TIM_ClearFlag(TIM2,TIM_FLAG_Update);

TIM_Cmd(TIM2,DISABLE);

RX_SATA = 1;

}

配置PWM


void PWM_Init(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

TIM_OCInitTypeDef TIM_OCInitStructure;


//初始化PA8管腳為復用推挽式輸出


RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO,ENABLE);


GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //復用推挽式輸出

GPIO_Init(GPIOA, &GPIO_InitStructure);

 

//初始化定時器1的時基單元


//使能定時器1的時鐘

RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);



TIM_TimeBaseStructure.TIM_Period = (100-1);//ARR

TIM_TimeBaseStructure.TIM_Prescaler = (72-1);//PSC

TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

TIM_TimeBaseInit(TIM1, & TIM_TimeBaseStructure);

 

//初始化PWM輸出配置

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;


TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;

TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;


TIM_OCInitStructure.TIM_Pulse = 0;

TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;

TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_Low;

TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;

TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Set;

 

TIM_OC1Init(TIM1,&TIM_OCInitStructure);


//使能PWM外設

TIM_CtrlPWMOutputs(TIM1,ENABLE);


//激活CCR寄存器

TIM_OC1PreloadConfig(TIM1,TIM_OCPreload_Enable);


//激活ARR寄存器

TIM_ARRPreloadConfig(TIM1,ENABLE);


//使能定時器1

TIM_Cmd(TIM1,ENABLE);


}

關鍵字:STM32F103  定時器2  串口接收  指令控制  LED亮度 引用地址:STM32F103利用定時器2與串口接收指令控制LED亮度

上一篇:stm32 通過串口控制led燈亮滅 并通過lcd顯示led燈的亮滅狀態
下一篇:STM32總結一 STM32三種點亮LED燈方式的不同之處

推薦閱讀

騰訊科技訊 4月9日消息,韓國央行周日宣稱,全球芯片行業的強勁需求勢頭仍會持續一年,并聲稱韓國本土的芯片制造商仍應當重點關注非記憶式芯片的生產,以并為未來的發展做好準備。韓國央行通過報告表示,“整個芯片行業發展勢頭迅猛,從2016年下半年開始,特別是DRAM產品的市場需求一直在強勁發展,這種勢頭將持續到2019年上半年,之后可能才會逐漸降溫。...
集微網消息(文/春夏)近日,中科院半導體研究所針對南京SMCD項目發布聲明,表示并未參與該項目。對于新落戶的SMCD項目,除了南報網的報道提及“中電集團和中科院半導體研究所將參與項目運營,負責線上線下平臺并提供技術及科技成果轉化支持”之外,南京日報也做出相關報道。此外,南京軟件谷官方消息也表示“除SMCD公司外,運營主體還包括中國電子信息產...
今天晚上,榮耀Play4T系列正式發布,Play4T的6GB+128GB版售價為1199元,Play4T Pro的6GB+128GB版售價為1499元,8GB+128GB版售價為1699元,4月14日開啟預售,4月21日開售。 據悉,榮耀Play4T采用6.39英寸的HD+魅眼屏,屏占比超過了90%,機身尺寸為159.81mm×76.13mm×8.13mm,機身重量為176g,機身提供幻夜黑、藍水翡翠兩種配色。榮...
據36氪報道,從行業知情人士處獲悉,小米生態鏈公司石頭科技已經下場造車,石頭科技創始人兼CEO昌敬親自操盤,成立獨立的汽車公司。與理想汽車一樣,石頭汽車首款車選擇了增程技術路線,初步的產品定位是類似奔馳G系列的硬派越野車型。報道稱,石頭科技的造車項目在2020年底已經啟動,天使輪估值達到2.4億美元,石頭科技的老股東高榕資本、北極光創投等機...

史海拾趣

小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 翁源县| 金川县| 晋城| 阜城县| 云龙县| 铁岭县| 什邡市| 庄浪县| 新巴尔虎右旗| 盐池县| 云龙县| 增城市| 梁平县| 浦县| 贵州省| 延寿县| 杭州市| 青岛市| 济阳县| 厦门市| 新邵县| 沂南县| 永修县| 图们市| 宁德市| 吴旗县| 砚山县| 察隅县| 雅安市| 建始县| 昆山市| 乌鲁木齐市| 金平| 开远市| 丹阳市| 兴海县| 清新县| 宁波市| 南岸区| 淮阳县| 科技|