Toggle navigation
首页
(current)
问答
文章
话题
商城
登录
注册
lua软件模拟spi
SPI
202
720
本代码可实现功能,但是不推荐使用,速度与spi外设相比,极慢 下面是正常的spi外设代码 ```lua require"utils" require"pm" pm.wake("wake11") require"pins" if _G.moduleType...
本代码可实现功能,但是不推荐使用,速度与spi外设相比,极慢 下面是正常的spi外设代码 ```lua require"utils" require"pm" pm.wake("wake11") require"pins" if _G.moduleType == 2 then pmd.ldoset(6,pmd.LDO_VMMC) end local result = spi.setup(spi.SPI_1,0,0,8,800000,1,0)--初始化spi log.info("spi1",spi.SPI_1) log.info("testSpiFlash.init",result) local cs = pins.setup(moduleType == 2 and pio.P0_10 or pio.P1_2,1) local s = string.fromHex("9f000000000000") sys.taskInit(function () sys.wait(5000) while true do cs(0)--需要手动下拉cs引脚电平 log.info("testSpiFlash.readFlashID",spi.send_recv(spi.SPI_1,s):toHex())--收发读写 cs(1) sys.wait(200) end spi.close(spi.SPI_1) end) ``` 可以用下面的代码来代替(gpio需要自行更改): ``` require"utils" require"pins" --软件模拟 local clk = pins.setup(33,0) local cs = pins.setup(34,1) local opin = pins.setup(36,0) local ipin = pins.setup(35) --pio.pin.setpull(pio.PULLDOWN,35) sys.taskInit(function () log.info("spi start") while true do sys.wait(1000) local r = {}--待接收到的数组 local s = string.char(0x9f,0,0,0,0,0,0)--待发送的字符串 cs(0) for i=1,#s do local rd = 0--临时存储的接收 local td = s:byte(i)--临时的发送数据 for j=1,8 do opin(bit.isset(td,8-j) and 1 or 0)--根据发送的位来决定高低电平 clk(1)--时钟线拉高,开始采样 if ipin() == 1 then--如果接收线是高,那么把接受临时变量相应位置1 rd = bit.set(rd,8-j)--把接受临时变量相应位置1 end clk(0)--时钟线拉低,准备下次 end table.insert(r, string.char(rd))--接收数据,存到待接收到的数组中 end cs(1) local rec = table.concat(r, "")--接收到的数据连起来 log.info("receive data",rec:toHex()) end end) ``` 可以根据自己的需求。更改代码
发表于 2019-08-21 16:40
阅读 ( 3068 )
分类:
默认分类
0 推荐
打赏
收藏
你可能感兴趣的文章
合宙Air系列模块外部总线接口常见用法-SPI总线,中
2289 浏览
合宙Air系列模块外部总线接口常见用法-SPI总线,上
2110 浏览
用合宙Air720的SPI接口驱动nRF24L01
1668 浏览
稀饭放姜 iRTU 学习日记 (1):认识iRTU开源电路
4370 浏览
Air 202 luat 连接阿里云平台 - 进阶(一) - 数据处理(规则引擎)
4201 浏览
相关问题
us级脉冲信号采集计数
1 回答
请问我用720模块的GPIO-55管脚作为IO口时,模块一直重启,启动不了,怎么回事。
1 回答
Air720G的SPI问题
0 回答
Air720怎么还没有支持SPI?
1 回答
202 s5 怎么判断串口内容啊 上面函数都没注释 !!!
1 回答
使用俩个串口功能!!!
2 回答
1 条评论
请先
登录
后评论
晨旭
菜鸟
20 篇文章
作家榜
»
技术销售Delectate
43 文章
陈夏
26 文章
国梁
24 文章
miuser
21 文章
晨旭
20 文章
朱天华
19 文章
金艺
19 文章
杨奉武
18 文章
×
发送私信
发给:
内容:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!