IT培训机构|91免费精品视频|专注编程培训|91免费精品|软件开发培训_91免费国产视频_华清远见教育

 

基于華清遠見STM32f051的 IIC從模式實現方法

作者:盧老師,華清遠見教育科技集團講師。

在大多情況下,我們使用MCU控制傳感器,節點以及相關從設備,但在較為復雜的系統中,有時候也會使用MCU做為從設備。

下面是關于stm32f051的從模式實現方法,主要思路為從設備從中斷里面接受 IIC主設備發送的數據,并加以處理。

下圖為STM32F051的小系統:

IIC從模式 GPIO的配置

根據原理圖查ST32F051的datasheet

配置引腳:

void I2C_GPIO_Configuration(void)
        {
                GPIO_InitTypeDefGPIO_InitStruct;
        
                /* Enable GPIOA clock */
                RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);
                /*!< sEE_I2C Periph clock enable */
                RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1 , ENABLE);
                /*!< GPIO configuration */
                /*!< Configure sEE_I2C pins: SCL */
                GPIO_InitStruct.GPIO_Pin = GPIO_Pin_8;
                GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF;//GPIO_Mode_IN
                GPIO_InitStruct.GPIO_Speed = GPIO_Speed_Level_3;
                GPIO_InitStruct.GPIO_OType = GPIO_OType_OD;//open-drain
                GPIO_Init(GPIOB , &GPIO_InitStruct);
        
                /*!< Configure sEE_I2C pins: SDA */
                GPIO_InitStruct.GPIO_Pin = GPIO_Pin_9;
                GPIO_Init(GPIOB , &GPIO_InitStruct);
        
                /* Connect PXx to I2C_SCL*/
                GPIO_PinAFConfig( GPIOB , GPIO_PinSource8, GPIO_AF_1);
                /* Connect PXx to I2C_SDA*/
                GPIO_PinAFConfig( GPIOB ,GPIO_PinSource9, GPIO_AF_1);
        }

IIC從模式配置,在配置時,需要設置地址,在這里設置為0XA0,而從設備的時鐘屬于被動模式,有IIC的主端確定。

void I2C_Configuration(void)
        {
                I2C_InitTypeDef I2C_InitStruct;
        
                /* I2C configuration */
                I2C_InitStruct.I2C_Mode = I2C_Mode_I2C;
                I2C_InitStruct.I2C_AnalogFilter = I2C_AnalogFilter_Enable;
                I2C_InitStruct.I2C_DigitalFilter = 0x00;
                I2C_InitStruct.I2C_OwnAddress1 =0xA0;
                I2C_InitStruct.I2C_Ack = I2C_Ack_Enable;
                I2C_InitStruct.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
                I2C_InitStruct.I2C_Timing = 0xb0420f13;//100Kbits
                /* I2C Peripheral Enable */
                I2C_Cmd(I2C1, ENABLE);
                /* Apply I2C configuration after enabling it */
                I2C_Init(I2C1, &I2C_InitStruct);
        }

下面是IIC中斷函數的實現

void I2C1_IRQHandler(void)
        {
                I2C_ClearITPendingBit(I2C1, I2C_ISR_ADDR|I2C_ISR_STOPF );
                if(I2C_GetITStatus( I2C1, I2C_IT_RXNE));
                {
                        I2Cbuf[I2C_IT_FLAG++]=I2C_ReceiveData(I2C1);
                }
        }

中斷函數里面,清中斷為2種,一種為IIC從地址校驗成功,一種是數據傳輸過程中停止。對于從設備,接受數據中斷才是我們需要的,這里我們將IIC接受的數據存入定義好的數組中,這樣以備后用,同是,在讀取接受數據時,硬件已經將接受數據的中斷清楚掉。

主站蜘蛛池模板: 溶气气浮机_一体化净水设备_污水处理设备_mbr一体化污水处理设备-明基环保 | 凿岩机|操车设备|爬车机|三环链|伞钻|伞型钻机|中心回转抓岩机|往复式给煤机|滚轮罐耳|吊桶|钩头-济宁卓力工矿设备有限公司 | 苏州妙凯电子有限公司-供应军工电源芯片|线性恒流IC|开关电源IC|LED驱动芯片|MOS管|IPM|IGBT|MCU开发|电源模块 | 智慧园区平台_智慧园区智慧写字楼运营平台领导品牌 | 深圳办公室装修_设计_实景_效果图_哪家好-公装装饰公司 | 呼吸家官网|肺功能检测仪生产厂家|国产肺功能仪知名品牌|肺功能检测仪|肺功能测试仪|婴幼儿肺功能仪|弥散残气肺功能仪|肺功能测试系统|广州红象医疗科技有限公司|便携式肺功能仪|大肺功能仪|呼吸康复一体机|儿童肺功能仪|肺活量计|医用简易肺功能仪|呼吸康复系统|肺功能仪|弥散肺功能仪(大肺)|便携式肺功能检测仪|肺康复|呼吸肌力测定肺功能仪|肺功能测定仪|呼吸神经肌肉刺激仪|便携式肺功能 | 长沙变频器维修,变频器维修,ABB变频器维修,西门子变频器维修,施耐德变频器维修,伺服驱动器维修,工业机器人维修,20年专业工控电气维修,长沙文铖电气设备有限公司_长沙文铖电气设备有限公司 | 曙海培训-仿真培训Linux培训html5培单片机培训PCB培训python培训PLC培训C语言培训android培训物联网培训无线电培训欧姆龙培训工业机器人培训5G培训Hadoop培训CFD培训项目外包开发咨询 | 气体报警器,有毒气体报警器,可燃气体探测器,乙炔气体报警器,可燃气体检漏仪,便携式气体检测仪,气体报警控制器-山东如特安防设备有限公司 | 和中出国移民官网|出国移民|加拿大移民|欧洲移民|爱尔兰移民|马耳他移民|希腊移民|美国移民|海外护照_和中移民 | 输送机|滚筒输送机|皮带输送机|滚筒|无动力滚筒|万向球生产厂家-上海霞韵输送机械设备有限公司 | 重庆物流公司,重庆商贸货运,工厂物流,同城冷链物流配送,物流软件租售-重庆协通国际物流有限公司 重庆污水处理设备_废气处理设备_纯净水设备-山艺环保 | 江苏广分检测技术有限公司、电力安全工具检测、苏州绝缘工具检测、昆山电力安全工具检测-广分检测技术(苏州)有限公司 | 山东荣利中石油机械有限公司 | 河北兴泓环保设备有限公司-冷却塔_废气净化塔_污水除臭设备 | 深圳市泰美乐纸制品有限公司-纸杯厂,一次性纸杯,广告纸杯,奶茶纸杯,试饮纸杯定做 | 一站式应用与数据集成平台(iPaaS) - 数环通 | 温州市浙铸机械有限公司| 深圳市泰美乐纸制品有限公司-纸杯厂,一次性纸杯,广告纸杯,奶茶纸杯,试饮纸杯定做 | 首页--南京俊全科技有限公司,环保监测无人机,大疆无人机,农用无人机,植保无人机,巡检无人机,无人机环境监测仪,消防,无人机,航拍测绘,固定翼无人机,无人机电力巡检,四旋翼无人机 | 聚丙烯酰胺,聚合氯化铝,重金属捕捉剂,污泥调理剂,活性氧化铝,生石灰,反渗透阻垢剂,工业葡萄糖,硫酸铝,果壳活性炭,柱状活性炭,蜂窝活性炭,石英砂,锰砂-北京雁归来环保科技有限公司-以真诚为立足之本,以质量为生存之本,愿与海内外同仁共创双赢。雁归来人一路走来,气贯长虹,勇锐盖过怯弱,进取压倒苟安!我们紧扣时代脉搏,专注水处理、继往开来! | 无铅锡膏,无铅锡膏厂家,有铅锡膏厂家,高温锡膏厂家,环保锡丝,贴片红胶-东莞市科舜电子科技有限公司 | 山东鲁控电力设备有限公司_高低压电器设备_变压器 | 中捷摇臂钻,数控钻床,沈阳中捷设备机床厂官网_沈阳中捷数控摇臂钻床厂 | 天然气车船展、氢能装备展、氢燃料汽车展、核电装备展、国防信息化装备展---北京企发展览服务有限公司 | 康明斯柴油发电机厂家-康明斯发电机(深圳)有限公司 | 可可英语-年轻人的英语听说训练平台 | 泰安led显示屏-泰安户外裸眼3D显示屏-扩声系统-舞台灯光机械-电子屏-肥城宁阳新泰东平-泰安市奇美特电子有限公司 | 回收求购煤矿机械矿山设备,二手液压支架,刮板输送机-华建智能再生资源公司 | 真空机器人维修_晶圆机械手保养_半导体机械臂维修_面板机器人保养_AMHS改造-广州市广科智能技术有限公司 | 驾驶洗地机|手推洗地车|天津洗地机|扫地车|仓库工厂扫地机|工业吸尘器|扫雪机|耐洁思 | 暖通家-中国暖通空调及热泵产业资讯平台,专业为厂家和商家提供价值服务 | 江苏减速机_常州减速机_摆线减速机_摆线针轮减速机 | 四通球阀_304真空阀_不锈钢五通球阀厂家-浙江壬丰阀门有限公司 | 物流系统?货代系统?国际快递/专线/小包系统首选?哲盟软件 | 消防改造安装,消防维修检测,消防工程安装,气体灭火施工安装,火灾烟感探测器清洗 | 全铝家居_十大全铝家具品牌_全铝衣柜橱柜——佛山欧格美铝业 | 自复式过欠压保护器-上海能曼电气有限公司 | 山东优科机械设备有限公司,养鸡设备,湿帘设备,通风降温加湿设备,山东养鸡设备,山东湿帘设备 | 聚合氯化铝pac-聚氯化铝-饮水级工业级聚合氯化铝-聚合氯化铝厂家价格 | 信管飞软件官网 - 亚拓软件旗下精细化管理软件、进销存管理软件、混凝土ERP、通风设备ERP、风管报价软件、出纳软件、送货单打印软件、ERP软件等免费下载 |