欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32單片機點燈代碼,親測,代碼沒有任何問題,可以正常開關燈。

[復制鏈接]
跳轉到指定樓層
樓主
1、首先要知道led燈所對應的引腳,在對應芯片的datasheet的中找到它的模塊框圖和時鐘樹種找到上級時鐘并且將其打開。  然后用結構體對其進行初始化,初始化時根據你的需求進行相應的參數配置。

ZET6的datasheet的時鐘樹如圖:
http://m.raoushi.com/bbs/dpj-151738-1.html


2、使用初始化函數將其初始化。

3、找到原理圖,獲知操作的元件需要高電平還是低電平。比如此處led燈需要高電平,可以通過void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)這個函數將電平拉高。

如果元件需要低電平可以通過void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)函數拉低電平。

也可以直接通過位操作進行設置電平。

用void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal)函數直接寫入 某模塊所有的電平情況。

操作如下:
比如要對GPIO_Pin_10進行置高電平操作。
可以用GPIO_SetBits(GPIOA,GPIO_Pin_10);
也可以用GPIO_WriteBit(0x01<<10);

上代碼:
void Led_Init()
{
        GPIO_InitTypeDef GPIO_InitStructure;
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);
        GPIO_Init(GPIOE, &GPIO_InitStructure);

}

捕獲.PNG (108.71 KB, 下載次數: 50)

圖片

圖片

led.7z

189.61 KB, 下載次數: 10, 下載積分: 黑幣 -5

點燈

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:576308 發表于 2019-7-12 11:08 | 只看該作者
學習一下,謝謝樓主
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表