在进行资产监控设备软件开发时,需要用到的GPIO配置

笔者在近期对公司的资产监控设备做软件开发时,经常会进行GPIO配置,我相信这是很多软件研发人员都需要用到的。下面笔者对GPIO如何进行配置做一个详细的解析。
GPIO配置可以通过库函数进行配,同时可以通过GPIO寄存器进行配置。在编程中很多时候会运用到同一个IO在不同时间段进行输入和输出。
比如在IIC配置中,SDA即做输入又可为输出。如果用作可函数进行配置,代码量比较复杂臃肿。
库函数版配置
//SDA IO方向设置
#define OPT3001_SDA_IN()
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( OPT3001_SDA_RCC, ENABLE );
GPIO_InitStructure.GPIO_Pin = OPT3001_SDA_Pin;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(OPT3001_SDA_Port, &GPIO_InitStructure);
}
#define OPT3001_SDA_OUT()
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( OPT3001_SDA_RCC, ENABLE );
GPIO_InitStructure.GPIO_Pin = OPT3001_SDA_Pin;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(OPT3001_SDA_Port, &GPIO_InitStructure);
GPIO_SetBits(OPT3001_SDA_Port,OPT3001_SDA_Pin);
}
寄存器版配置
#define OPT3001_SDA_IN() {GPIOB->CRL&=0XF0FFFFFF;GPIOB->CRL|=(u32)4<<24;} //浮空输入
#define OPT3001_SDA_OUT() {GPIOB->CRL&=0XF0FFFFFF;GPIOB->CRL|=(u32)3<<24;} //推挽输出
通过寄存器配置,在代码量上面回简洁很多,寄存器配置可以通过STM32中文参考手册进行查询

在进行资产监控设备软件开发时,需要用到的GPIO配置


Yunxion资产监控终端
对于固定资产的监控,很多单位和企业还处于粗放管理的阶段,由于管理制度不到位和管理者对工作的松懈,使得固定资产出现大量浪费。例如,企业或单位在购置新的固定资产时,由于管理粗放,导致相关管理人员不及时对固定资产进行入账,查找资产时,又没有相关记录,最终可能会导致固定资产的流失。对企业或单位的固定资产进行管理,如果还停留在传统的手工记账阶段,还会消耗企业大量的人力成本。针对这样的问题Yunxion研发了资产监控终端设备,只需要非常低廉的成本支出,就可以对企业的固定资产进行实时监控。企业管理者只需要将资产监控终端设备放在固定资产上,就可以通过云端平台,实时可视化的对资产进行管理,当资产出现存取、租借等状态变化时,这些数据会自动记录在云端,企业管理者可以一目了然的知道固定资产的所有变化。当固定资产出现位置偏移或是遭到非法调拨时,平台会自动触发报警,提醒管理者及时了解情况,保证资产的安全。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年5月17日 下午3:25
下一篇 2023年5月17日 下午3:41

相关推荐