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

东莞网站建设及外包1做网站的公司

东莞网站建设及外包,1做网站的公司,重庆市建设工程信息网官,注册公司需要多少钱保证金目录 前言一、配置内容二、驱动代码实现三、总结 前言 本笔记总结linux下使用gpio模拟spi时序的方法#xff0c;基于arm64架构的一个SOC#xff0c;linux内核版本为linux5.10.xxx#xff0c;以驱动三线spi(时钟线sclk#xff0c;片选cs#xff0c;sdata数据读和写使用同一… 目录 前言一、配置内容二、驱动代码实现三、总结 前言 本笔记总结linux下使用gpio模拟spi时序的方法基于arm64架构的一个SOClinux内核版本为linux5.10.xxx以驱动三线spi(时钟线sclk片选cssdata数据读和写使用同一个数据线进行分时复用做半双工)的hmc704x为例 一、配置内容 设备树配置 1.在芯片的引脚模式寄存器中配置 cs ,sclk , mosi ,miso为 gpio模式 2.在spi控制器下添加pinctrl-x 引脚引用对引脚的模式进行生效 3.在spi控制器的节点下添加spi从设备节点并定义cssclkmosimiso的gpio属性 spics 引用; spiclk 引用; spimiso 引用; spimosi 引用; 二、驱动代码实现 1、gpio请求 int spics_gpio 0; int spiclk_gpio 0; int spimiso_gpio 0; int spimosi_gpio 0; void xxx_probe(xxxx) {spics_gpio of_get_named_gpio(spi-dev.of_node,spics,0);if(spics_gpio0){printk(faild to request gpio!\n);}gpio_request(spics_gpio,NULL);gpio_direction_output(spics_gpio,0);spiclk_gpio of_get_named_gpio(spi-dev.of_node,spiclk,0);if(spics_gpio0){printk(faild to request gpio!\n);}printk(get GPIO%d\n,spiclk_gpio);gpio_request(spiclk_gpio,NULL);gpio_direction_output(spiclk_gpio,0);spimiso_gpio of_get_named_gpio(spi-dev.of_node,spimiso,0); if(spimiso_gpio0){printk(faild to request gpio!\n); } gpio_request(spimiso_gpio,NULL);gpio_direction_output(spimiso_gpio,0);spimosi_gpio of_get_named_gpio(spi-dev.of_node,spimosi,0);if(spimosi_gpio0){printk(faild to request gpio!\n);} gpio_request(spimosi_gpio,NULL);gpio_direction_output(spimosi_gpio,0); }2、读写函数实现 读写时序 读函数 #define HMC7044_WRITE (0 15) #define HMC7044_READ (1 15) #define HMC7044_CNT(x) (((x) - 1) 13) #define HMC7044_ADDR(x) ((x) 0xFFF)static int xxx_read(unsigned int reg,unsigned int *val) {u16 cmd,i;u32 data,datatemp;uint8_t tempvalue 0;cmd HMC7044_READ | HMC7044_CNT(1) | HMC7044_ADDR(reg);data cmd; gpio_direction_output(spimosi_gpio,0);gpio_set_value(spics_gpio,1);gpio_set_value(spiclk_gpio,0);gpio_set_value(spimosi_gpio,0);udelay(5);gpio_set_value(spics_gpio,0);for(i0;i16;i){gpio_set_value(spiclk_gpio,0);datatemp ((data(15-i)) 0x1);if(datatemp0) gpio_set_value(spimosi_gpio,1);else gpio_set_value(spimosi_gpio,0);udelay(5);gpio_set_value(spiclk_gpio,1);udelay(5);}gpio_direction_input(spimosi_gpio);for(i0;i8;i){gpio_set_value(spiclk_gpio,0);udelay(5);tempvalue1;gpio_set_value(spiclk_gpio,1);if(gpio_get_value(spimosi_gpio)){tempvalue;}udelay(5);}gpio_set_value(spics_gpio,1);*val tempvalue;return 0; }写函数 static int xxx_write(unsigned int reg,unsigned int val) { u16 cmd,i;u32 data,datatemp;cmd HMC7044_WRITE | HMC7044_CNT(1) | HMC7044_ADDR(reg);data (cmd 8) | (val 0xFF);gpio_direction_output(spimosi_gpio,0);gpio_set_value(spics_gpio,1); gpio_set_value(spiclk_gpio,0);gpio_set_value(spimosi_gpio,0);udelay(5);gpio_set_value(spics_gpio,0);for(i0;i24;i){gpio_set_value(spiclk_gpio,0);datatemp ((data(23-i)) 0x1);if(datatemp0) gpio_set_value(spimosi_gpio,1); else gpio_set_value(spimosi_gpio,0);udelay(5);gpio_set_value(spiclk_gpio,1);udelay(5);}gpio_set_value(spics_gpio,1);return 0; }三、总结 具体的芯片读写协议不一样按具体spi时序协议做相应修改即可
http://www.hkea.cn/news/14271615/

相关文章:

  • 济南网站建设兼职专业建站分销商城
  • 学网站制作多少钱北京高端网页制作
  • 网站建设制作软件叫啥数字化转型的必要性
  • seo网站推广专员招聘图书馆网站开发总结
  • 网站制作需要什么资料打开上海发布
  • wordpress 多站 列表wordpress怎么添加主页
  • 企业网站建设综合实训心得织梦免费网站模块下载地址
  • 四川省城乡建设网站公司的官网建设
  • 在跨境网站贸易公司做怎么样福田庆三整过的明星
  • 美创网站建设优势南昌制作企业网站
  • 做网站后用浏览量百度给钱怎么安装wordpress模板安装教程
  • 衡水移动网站建设报价wordpress搜索内容
  • 做网站排在前十名要多少钱工程找队伍信息网
  • 财政局门户网站建设方案工程公司起名大全
  • 东莞专业网站建设推广2022年楼市最新政策
  • 品牌型网站制作价格wordpress怎么改静态
  • 长沙专业做网站排名江西南昌建设厅网站
  • 建设银行余额查询网站企业信用公示信息系统(全国)官网
  • 个性化推荐网站开发源码邹城住房城乡建设部网站
  • 服务公司税率seo干什么
  • 做网站美工工资多少企业seo顾问服务公司
  • 亚马逊外贸网站如何做安徽华建建设工程公司网站
  • 做犯法任务的网站网页制作工具按其制作方式有几种类型
  • 单位网站建设和维护膜结构网站推广怎么做
  • 阿里云服务器部署网站如何将网站排名做高
  • 做个外贸网站多少费用崇明网站怎么做seo
  • 江苏省建设局报考网站上海网站设计公司推荐亿企邦
  • 免费网上商城网站建设燕子项目网
  • 网络营销的专业网站wordpress 8.0怎么登录
  • 做一份网站的步zou网站开发前端技术趋势