0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【触觉智能 Purple Pi OH 开发板体验】+ Linux下位移运算及实现

触觉智能 2023-09-13 08:38 次阅读

本文转载于Purple Pi OH开发爱好者,作者李唐

Linux下对外设的控制中,往往要用到移位操作,若设计出相应的函数会有效地通过使用的效率。

位移函数的作用是按位进行数据移动,其数据类型为字节型。在此类函数中,包括左移、右移和位交换。

左移

左移函数的表达式为:y=a<

实现左移的函数方式为:y=a*(2^n) ,2^n表示2的n次方。

实现左移的函数内容为:
bc50afb6-51cd-11ee-a20b-92fbcf53809c.png

在完成该函数的编辑后,将其存入文件yw.sh即可。

为验证其正确性,需键入指令source ./ yw.sh即可运行该函数。该函数是双目运算,故要键入2个操作数。以操作数0x85为例,其左移2位的结果为0x224,说明函数正确。

bc769352-51cd-11ee-a20b-92fbcf53809c.png

右移

右移函数的表达式为:y=a>>n (a为整数型变量,n=0~7)

实现右移的函数方式为:y=a/(2^n)

实现右移的函数内容为:
bc8a59d2-51cd-11ee-a20b-92fbcf53809c.png

在完成该函数的编辑后,将其存入文件yw.sh即可。

为验证其正确性,需键入指令source ./ yw.sh即可运行该函数。该函数是双目运算,故要键入2个操作数。以操作数0x85为例,其右移2位的结果为0x21,说明函数正确。
bcaf1510-51cd-11ee-a20b-92fbcf53809c.png

位交换

在数据操作处理中,常会涉及半字节的操作,比如用字节数据的高4位或低4位,或交换数据的高、低4位等。

对提取的高4位测试为:
bcc05c12-51cd-11ee-a20b-92fbcf53809c.png

对提取的低4位测试为:
bcd2b916-51cd-11ee-a20b-92fbcf53809c.png

这样我们就基本上解决了位移操作的函数设计及处理方法问题,尽管这些问题很基础,但它却很实用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11313

    浏览量

    209762
  • 开发板
    +关注

    关注

    25

    文章

    5070

    浏览量

    97645
  • 触觉智能
    +关注

    关注

    1

    文章

    38

    浏览量

    333
收藏 人收藏

    评论

    相关推荐

    Linux系统更换开机logo方法教程,触觉智能RK3562开发板演示

    本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板触觉智能RK3562开发板
    的头像 发表于 01-06 10:53 28次阅读
    <b class='flag-5'>Linux</b>系统更换开机logo方法教程,<b class='flag-5'>触觉</b><b class='flag-5'>智能</b>RK3562<b class='flag-5'>开发板</b>演示

    OpenHarmony源码编译后烧录镜像教程,RK3566鸿蒙开发板演示

    本文介绍瑞芯微主板/开发板编译OpenHarmony源码后烧录镜像的教程,触觉智能Purple Pi O
    的头像 发表于 12-30 10:08 90次阅读
    OpenHarmony源码编译后烧录镜像教程,RK3566鸿蒙<b class='flag-5'>开发板</b>演示

    OpenHarmony怎么修改DPI密度值?触觉智能RK3566鸿蒙开发板演示

    开源鸿蒙OpenHarmony系统下,修改DPI密度值的方法,触觉智能Purple Pi OH鸿蒙开发板
    的头像 发表于 12-24 11:46 203次阅读
    OpenHarmony怎么修改DPI密度值?<b class='flag-5'>触觉</b><b class='flag-5'>智能</b>RK3566鸿蒙<b class='flag-5'>开发板</b>演示

    VMware环境下,同时烧录固件检测不到设备如何解决?触觉智能鸿蒙开发板演示

    本文介绍PC电脑端运行VMware环境下,同时烧录固件检测不到设备的解决方法。触觉智能Purple Pi OH鸿蒙
    的头像 发表于 12-19 09:36 239次阅读
    VMware环境下,同时烧录固件检测不到设备如何解决?<b class='flag-5'>触觉</b><b class='flag-5'>智能</b>鸿蒙<b class='flag-5'>开发板</b>演示

    OpenHarmony默认30秒熄屏太麻烦?触觉智能鸿蒙开发板教你轻松取消

    OpenHarmony系统开机后 30 秒会自动息屏,教大家两招轻松取消自动息屏,触觉智能Purple Pi OH鸿蒙
    的头像 发表于 12-09 11:45 222次阅读
    OpenHarmony默认30秒熄屏太麻烦?<b class='flag-5'>触觉</b><b class='flag-5'>智能</b>鸿蒙<b class='flag-5'>开发板</b>教你轻松取消

    OpenHarmony属性信息怎么修改?触觉智能RK3566鸿蒙开发板来演示

    本文介绍开源鸿蒙OpenHarmony系统下,修改产品属性信息的方法,触觉智能Purple Pi OH鸿蒙
    的头像 发表于 11-27 09:31 186次阅读
    OpenHarmony属性信息怎么修改?<b class='flag-5'>触觉</b><b class='flag-5'>智能</b>RK3566鸿蒙<b class='flag-5'>开发板</b>来演示

    如何在Linux系统实现屏幕旋转?触觉智能RK3568鸿蒙开发板演示

    本文介绍Linux系统实现屏幕旋转的方法,以解决产品形态的不同的展现方式,触觉智能EVB3568鸿蒙开发板演示,现已发布全新OpenHarm
    的头像 发表于 11-19 23:42 329次阅读
    如何在<b class='flag-5'>Linux</b>系统<b class='flag-5'>实现</b>屏幕旋转?<b class='flag-5'>触觉</b><b class='flag-5'>智能</b>RK3568鸿蒙<b class='flag-5'>开发板</b>演示

    如何在开源鸿蒙OpenHarmony开启SELinux模式?RK3566鸿蒙开发板演示

    本文介绍开源鸿蒙OpenHarmony系统下,开启/关闭SELinux权限的方法,触觉智能Purple Pi OH鸿蒙
    的头像 发表于 11-18 19:03 354次阅读
    如何在开源鸿蒙OpenHarmony开启SELinux模式?RK3566鸿蒙<b class='flag-5'>开发板</b>演示

    OpenHamrony4.0去除锁屏是一种什么体验?触觉智能给你支支招

    本文介绍开源鸿蒙OpenHarmony 4.0系统下,去除锁屏开机后直接进入界面的方法,触觉智能Purple Pi OH鸿蒙
    的头像 发表于 11-13 10:37 263次阅读
    OpenHamrony4.0去除锁屏是一种什么体验?<b class='flag-5'>触觉</b><b class='flag-5'>智能</b>给你支支招

    触觉智能Purple Pi OH鸿蒙开发板成功适配OpenHarmony5.0 Release,开启新征程

    触觉智能Purple Pi OH鸿蒙开发板,成功适配OpenHarmony5.0 Release
    的头像 发表于 10-25 10:51 415次阅读
    <b class='flag-5'>触觉</b><b class='flag-5'>智能</b><b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b>鸿蒙<b class='flag-5'>开发板</b>成功适配OpenHarmony5.0 Release,开启新征程

    瑞芯微RK3566鸿蒙开发板Android11修改第三方输入法为默认输入法

    本文适用于触觉智能所有支持Android11系统的开发板修改第三方输入法为默认输入法。本次使用的是触觉智能
    的头像 发表于 09-24 09:43 474次阅读
    瑞芯微RK3566鸿蒙<b class='flag-5'>开发板</b>Android11修改第三方输入法为默认输入法

    瑞芯微RK3566鸿蒙开发板Ubuntu虚拟机环境搭建教程,触觉智能Purple Pi OH主板

    本文适用于Ubuntu虚拟机环境搭建教程学习,设备为触觉智能开发的瑞芯微RK3566开发板,型号Purple Pi
    的头像 发表于 09-08 18:25 1111次阅读
    瑞芯微RK3566鸿蒙<b class='flag-5'>开发板</b>Ubuntu虚拟机环境搭建教程,<b class='flag-5'>触觉</b><b class='flag-5'>智能</b><b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b>主板

    瑞芯微RK3566鸿蒙开发板Ubuntu虚拟机环境搭建教程,触觉智能Purple Pi OH主板

    本文适用于Ubuntu虚拟机环境搭建教程学习,设备为触觉智能开发的瑞芯微RK3566开发板,型号Purple Pi
    的头像 发表于 09-05 17:47 335次阅读
    瑞芯微RK3566鸿蒙<b class='flag-5'>开发板</b>Ubuntu虚拟机环境搭建教程,<b class='flag-5'>触觉</b><b class='flag-5'>智能</b><b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b>主板

    马上教会你Purple Pi OH开发板之ADB常用命令

    开源鸿蒙硬件方案领跑者触觉智能本文适用于在PurplePiOH开发板进行分区镜像烧录。触觉智能的PurplePiOH鸿蒙开源主板,是华为La
    的头像 发表于 06-06 08:32 587次阅读
    马上教会你<b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b><b class='flag-5'>开发板</b>之ADB常用命令

    适合大学生的鸿蒙开发板-Purple Pi OH之安装Docker

    介绍本文基于purple-pi-oh系列主板演示Linux系统安装Docker,方法适用于RK3566全系列产品。本教程将指导你在基于RK3566的LInux系统上安装Docker。Docker是一
    的头像 发表于 05-10 08:32 619次阅读
    适合大学生的鸿蒙<b class='flag-5'>开发板</b>-<b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b>之安装Docker