当前位置: 首页 > news >正文

网站建设的软硬件平台企业营销推广怎么做

网站建设的软硬件平台,企业营销推广怎么做,做网站利润,视频 主题 wordpress一、程序简介 该程序是基于OpenHarmony标准系统编写的基础外设类#xff1a;RGB LED。 目前已在凌蒙派-RK3568开发板跑通。详细资料请参考官网#xff1a;https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk3568-openharmony/tree/master/samples/b02_hdf_rgb_led。 …一、程序简介 该程序是基于OpenHarmony标准系统编写的基础外设类RGB LED。 目前已在凌蒙派-RK3568开发板跑通。详细资料请参考官网https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk3568-openharmony/tree/master/samples/b02_hdf_rgb_led。 详细资料请参考OpenHarmony官网 GPIO平台驱动开发GPIO应用程序开发 二、硬件设计 RGB LED灯整体硬件电路如下图所示,硬件电路中包含了三个GPIO控制管脚控制RGB LED灯低电平点亮LED灯高电平熄灭LED灯。电路简单这边不对此进行多余的说明。 三、程序解析 1、目录结构 b02_hdf_rgb_led ├── config # HDF资源配置文件目录├── config.hcs # 接口IO配置文件├── device_info.hcs # 设备信息配置文件 ├── drivers # 内核HDF驱动程序目录├── rgb_led_drv.c # 内核HDF驱动程序├── Makefile # 内核HDF驱动编译脚本 ├── figures # MD文档图片 ├── BUILD.gn # GN文件 ├── rgb_led.c # 应用层控制程序 2、内核HDF驱动程序 1接口函数 函数名HdfRgbLedDriverInit.功能说明HDF初始化注册读取HDF资源配置文件获取三色灯控制GPIO管脚。 int32_t HdfRgbLedDriverInit(struct HdfDeviceObject *deviceObject) {if (deviceObject NULL) {HDF_LOGE(g_rgbLedDriverEntry: %s failed, __func__);return HDF_ERR_INVALID_OBJECT;}struct DeviceResourceIface *CfgOps NULL;CfgOps DeviceResourceGetIfaceInstance(HDF_CONFIG_SOURCE);if (CfgOps NULL || CfgOps-GetUint32 NULL) {HDF_LOGE(%s: DeviceResourceGetIfaceInstance failed, __func__);return HDF_FAILURE;}if (CfgOps-GetUint32(deviceObject-property, rgb_led_version, g_rgbLedCfg.rgb_led_version, 0) ! HDF_SUCCESS) {HDF_LOGE(%s: read rgb_led_version failed, __func__);return HDF_FAILURE;}if (CfgOps-GetUint32(deviceObject-property, rgb_led_red, g_rgbLedCfg.rgb_led_red, 0) ! HDF_SUCCESS) {g_rgbLedCfg.rgb_led_version 0;HDF_LOGE(%s: read rgb_led_red failed, __func__);return HDF_FAILURE;}if (CfgOps-GetUint32(deviceObject-property, rgb_led_green, g_rgbLedCfg.rgb_led_green, 0) ! HDF_SUCCESS) {g_rgbLedCfg.rgb_led_version 0;HDF_LOGE(%s: read rgb_led_green failed, __func__);return HDF_FAILURE;}if (CfgOps-GetUint32(deviceObject-property, rgb_led_blue, g_rgbLedCfg.rgb_led_blue, 0) ! HDF_SUCCESS) {g_rgbLedCfg.rgb_led_version 0;HDF_LOGE(%s: read rgb_led_blue failed, __func__);return HDF_FAILURE;}HDF_LOGI(g_rgbLedDriverEntry: %s success, __func__);return HDF_SUCCESS; } 函数名HdfRgbLedDriverRelease。功能说明HDF去注册。 void HdfRgbLedDriverRelease(struct HdfDeviceObject *deviceObject) {if (deviceObject NULL) {HDF_LOGE(g_rgbLedDriverEntry: %s failed, __func__);return;}HDF_LOGI(g_rgbLedDriverEntry: %s success, __func__);return; } 函数名HdfRgbLedDriverBind。功能说明HDF绑定解析函数。 int32_t HdfRgbLedDriverBind(struct HdfDeviceObject *deviceObject) {if (deviceObject NULL) {HDF_LOGE(g_rgbLedDriverEntry: %s failed, __func__);return HDF_ERR_INVALID_OBJECT;}static struct IDeviceIoService ledDriverServ {.Dispatch rgbLedDriverDispatch,};deviceObject-service (struct IDeviceIoService *)(ledDriverServ);HDF_LOGI(g_rgbLedDriverEntry: %s success NodeName[%s], __func__,deviceObject-property-name);return HDF_SUCCESS; } 函数名rgbLedDriverDispatch。功能说明解析函数解析应用层下发的命令执行命令对应操作RGB_LED_WRITE控制三色灯亮灭。 int32_t rgbLedDriverDispatch(struct HdfDeviceIoClient *client, int32_t cmdId,struct HdfSBuf *dataBuf, struct HdfSBuf *replyBuf) {int32_t result HDF_FAILURE;int32_t rgbLedMode 0;if (client NULL || client-device NULL) {HDF_LOGE(driver device is NULL);return HDF_ERR_INVALID_OBJECT;}if (g_rgbLedCfg.rgb_led_version ! RGB_LED_VERSION) {HDF_LOGE(driver rgb_led_version not match);return HDF_FAILURE;}switch (cmdId) {case RGB_LED_WRITE:result HdfSbufReadInt32(dataBuf, rgbLedMode);if (result) {HDF_LOGI(%s: mode:[0x%X][%s%s%s], __func__, rgbLedMode,(rgbLedModeRGB_LED_RED_BIT)?R:-,(rgbLedModeRGB_LED_GREEN_BIT)?G:-,(rgbLedModeRGB_LED_BLUE_BIT)?B:-);LedGpioCtrl(g_rgbLedCfg.rgb_led_red, (rgbLedModeRGB_LED_RED_BIT)?LED_ON:LED_OFF);LedGpioCtrl(g_rgbLedCfg.rgb_led_green, (rgbLedModeRGB_LED_GREEN_BIT)?LED_ON:LED_OFF);LedGpioCtrl(g_rgbLedCfg.rgb_led_blue, (rgbLedModeRGB_LED_BLUE_BIT)?LED_ON:LED_OFF);}break;default:HDF_LOGE(%s: receiving unknown command, __func__);break;}return result; } 函数名LedGpioCtrl。功能说明LED GPIO控制函数低电平点亮LED高电平熄灭LED。 static int32_t LedGpioCtrl(uint16_t gpio, int32_t mode) {uint16_t level GPIO_VAL_HIGH;if (HDF_SUCCESS ! GpioSetDir(gpio, GPIO_DIR_OUT)) {HDF_LOGE(%s: GpioSetDir failed, __func__);return HDF_FAILURE;}if (mode LED_ON) {level GPIO_VAL_LOW;} else if (mode LED_OFF) {level GPIO_VAL_HIGH;}if (HDF_SUCCESS ! GpioWrite(gpio, level)) {HDF_LOGE(%s: GpioWrite failed, __func__);return HDF_FAILURE;}return HDF_SUCCESS; } 3、应用层程序 1应用层代码分析 程序启动后获取命令行参数如果命令行不带参数RGB三色灯运行跑马灯如果命令行带参数根据传入的参数的低三位映射点亮对应的红灯、绿灯和蓝灯通过HdfIoServiceBind绑定RGB三色灯HDF服务获取HDF空间缓冲区向缓冲区写入需要控制的RGB三色灯低三位数据通过RGB_LED_WRITE命令下发到HDF驱动中从而控制RGB三色灯亮灭。程序运行结束回收HDF空间缓冲区和HDF服务。 int main(int argc, char* argv[]) {int ret HDF_SUCCESS;int32_t mode -1;if (argc ARGS_NUM) {mode atoi(argv[1]);/*low-3bits*/mode 0x7;HILOG_INFO(LOG_APP, [%s] main enter: mode[%s%s%s][0x%X],LOG_TAG,(modeRGB_LED_BLUE_BIT)?B:-,(modeRGB_LED_GREEN_BIT)?G:-,(modeRGB_LED_RED_BIT)?R:-,mode);printf(RGB mode[%s%s%s][0x%X]\n,(modeRGB_LED_BLUE_BIT)?B:-,(modeRGB_LED_GREEN_BIT)?G:-,(modeRGB_LED_RED_BIT)?R:-,mode);} else {HILOG_INFO(LOG_APP, [%s] main enter: auto test RGB LED, LOG_TAG);printf(auto test RGB LED\n);}struct HdfIoService *serv HdfIoServiceBind(RGB_LED_SERVICE_NAME);if (serv NULL) {HILOG_ERROR(LOG_APP, get service %s failed, RGB_LED_SERVICE_NAME);return -1;}struct HdfSBuf *data HdfSbufObtainDefaultSize();if (data NULL) {HILOG_ERROR(LOG_APP, obtain data failed);return -1;}if (mode -1) {mode 0x8;while (mode) {HdfSbufFlush(data);if (!HdfSbufWriteInt32(data, --mode)) {HILOG_ERROR(LOG_APP, write data failed);return -1;}ret serv-dispatcher-Dispatch(serv-object, RGB_LED_WRITE, data, NULL);sleep(1);}} else {if (!HdfSbufWriteInt32(data, mode)) {HILOG_ERROR(LOG_APP, write data failed);return -1;}ret serv-dispatcher-Dispatch(serv-object, RGB_LED_WRITE, data, NULL);}HdfSbufRecycle(data);HdfIoServiceRecycle(serv);HILOG_INFO(LOG_APP, [%s] main exit., LOG_TAG);return ret; } 四、运行程序 系统启动后命令行运行命令 rgb_led 五、运行结果 运行结果 # rgb_led auto test RGB LED# rgb_led 1 RGB mode[--R][0x1] # rgb_led 2 RGB mode[-G-][0x2] # rgb_led 3 RGB mode[-GR][0x3] # rgb_led 4 RGB mode[B--][0x4] # rgb_led 5 RGB mode[B-R][0x5] # rgb_led 6 RGB mode[BG-][0x6] # rgb_led 7 RGB mode[BGR][0x7] 最后推荐一款应用开发神器 扯个嗓子关于目前低代码在技术领域很活跃 低代码是什么一组数字技术工具平台能基于图形化拖拽、参数化配置等更为高效的方式实现快速构建、数据编排、连接生态、中台服务等。通过少量代码或不用代码实现数字化转型中的场景应用创新。它能缓解甚至解决庞大的市场需求与传统的开发生产力引发的供需关系矛盾问题是数字化转型过程中降本增效趋势下的产物。 这边介绍一款好用的低代码平台——JNPF快速开发平台。近年在市场表现和产品竞争力方面表现较为突出采用的是最新主流前后分离框架SpringBootMybatis-plusAnt-DesignVue3。代码生成器依赖性低灵活的扩展能力可灵活实现二次开发。 以JNPF为代表的企业级低代码平台为了支撑更高技术要求的应用开发从数据库建模、Web API构建到页面设计与传统软件开发几乎没有差异只是通过低代码可视化模式减少了构建“增删改查”功能的重复劳动还没有了解过低代码的伙伴可以尝试了解一下。 应用https://www.jnpfsoft.com/?csdn 有了它开发人员在开发过程中就可以轻松上手充分利用传统开发模式下积累的经验。所以低代码平台对于程序员来说有着很大帮助。
http://www.dnsts.com.cn/news/72890.html

相关文章:

  • 网站建设平台市场四川广安爱众app同城
  • 如何快速的建设网站石家庄网页开发建设
  • 厦门网上房地产网官方网站各种大型网站
  • 免费站推广网站2022广西住房城乡和建设厅网站首页
  • 公司网站没有备案是不是违法的如何很好的进行网站的内部推广
  • 经典网站建设案例国家化妆品备案网官网
  • 天津网站开发学校民权做网站
  • 做网站应该掌握的技术莱西做网站
  • 崇州市城乡建设局网站福州网站建设公司哪家好
  • 烟台城乡建设局网站吃的网站要怎么做
  • 美橙互联建站如何提高网站知名度
  • 巴彦淖尔网站制作开发优秀的html5网站 2016
  • O2O网站建设需要多少钱济南网站建设熊掌号
  • 中国容桂品牌网站建设罗湖附近公司做网站建设哪家技术好
  • 做网站需要注意的事项网络专业有哪些
  • 网络宣传平台有哪些徐州整站优化
  • 找网站html5制作网站首页
  • 1网站建设公司公司网站建设推荐
  • 景安做网站教程免费建设网站制作
  • 林业建设协会网站公众号公众平台
  • 关于苏宁易购网站建设的不足之处广东省建站公司
  • 沧州网站建设外贸海外网三农频道
  • 学校网站建设重要性浙江台州网络设计网站
  • 济南网站建设培训学校检查wordpress加载过程
  • lamp网站开发制作如何做好分销系统开发
  • 我的世界是怎么做的视频网站网站充值这么做
  • 广州电商网站开发wordpress删除页面地址
  • 西安网站建设比较好的公司做网站排名费用多少钱
  • 站长网seo综合查询工具温州网络网
  • 找网页模板的网站如何创建一个自己的公众号