找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 1001|回复: 11

[发布] L2C 开源,有需要的吗?新版块,来占个位~~

[复制链接]
发表于 2026-7-22 12:22:58 | 显示全部楼层 |阅读模式
本帖最后由 seekyou2008 于 2026-8-10 05:05 编辑

https:\/\/github.com/panshaogui/L2C

相关贴子:https:\/\/bbs.wuyou.net/forum.php?mod=viewthread&tid=452240





  1. -- ==============================================
  2. -- 05_ws2812.tl: L2C PIO HLS 点亮幻彩灯带 (Wokwi 靶场版)
  3. -- ==============================================

  4. -- @l2c_import: std/pico.tl
  5. -- @l2c_include: clib/ws2812_helpers.h

  6. -- 1. 思想域:降维级 WS2812 时序逻辑 (完美 11-Cycle 架构)
  7. local function L2C_PIO_ws2812()
  8.     -- 确保状态机启动时,接管引脚为输出模式
  9.     set("pindirs", 1)

  10.     ::bitloop::
  11.     --  先取数据!如果没数据,PIO 会在这里挂起休眠。
  12.     -- 因为此时处于循环的起点,引脚必然维持在上一周期的 LOW 状态,完美形成 50us RESET 信号!
  13.     out("x", 1)

  14.     -- 取到数据后,发送周期正式开始,拉高并消耗 2 个周期
  15.     set("pins", "1 [1]")
  16.     -- 判断跳转 (消耗 1 周期) -> 至此,无论如何电平都维持了 3 个周期的 HIGH (375ns)
  17.     jmp("!x", "do_zero")

  18.     ::do_one::
  19.     -- 发送 1:继续保持 HIGH 4 周期 (总计 7 周期 = 875ns,完美符合 T1H)
  20.     set("pins", "1 [3]")
  21.     -- 拉低 LOW 2 周期 (250ns)
  22.     set("pins", "0 [1]")
  23.     -- 跳回循环,消耗 1 周期 LOW,加上 out 消耗的 1 周期 LOW,总 LOW 500ns 完美!
  24.     jmp("bitloop")

  25.     ::do_zero::
  26.     -- 发送 0:立即拉低 LOW 4 周期
  27.     set("pins", "0 [3]")
  28.     -- 继续拉低 LOW 2 周期 (加上跳回,总计 8 周期 = 1000ns,完美符合 T0L)
  29.     set("pins", "0 [1]")
  30.     jmp("bitloop")

  31. end

  32. local type C_WS2812 = record
  33.     c_pio_ws2812_init: function(integer)
  34.     c_pio_ws2812_put: function(integer, integer, integer)
  35. end

  36. -- ===============================================
  37. -- 2. 物理执行域 (主循环)
  38. -- ===============================================
  39. C_PICO.stdio_init_all()

  40. local PIN_DIN = 15
  41. C_WS2812.c_pio_ws2812_init(PIN_DIN)

  42. print(" L2C WS2812 幻彩驱动已启动!")

  43. local offset = 0
  44. while true do
  45.     for i = 0, 7 do
  46.         local r = 0
  47.         local g = 0
  48.         local b = 0
  49.         
  50.         -- 流星拖尾算法
  51.         if i == offset then
  52.             r = 255 -- 领头红
  53.         elseif i == ((offset + 1) % 8) then
  54.             g = 255 -- 拖尾绿
  55.         elseif i == ((offset + 2) % 8) then
  56.             b = 255 -- 拖尾蓝
  57.         else
  58.             -- 极其微弱的白光,证明芯片活着
  59.             r = 2
  60.             g = 2
  61.             b = 2
  62.         end
  63.         
  64.         C_WS2812.c_pio_ws2812_put(r, g, b)
  65.     end

  66.     offset = (offset + 1) % 8
  67.     C_PICO.sleep_us(100000) -- 每 100ms 刷新一帧
复制代码



  1. -- ==============================================
  2. -- 09_hls_counter.tl: L2C HLS 时序逻辑降维测试
  3. -- ==============================================

  4. -- 思想域:带记忆的硬件计数器 (注意 L2C_HDL_SEQ_ 前缀!)
  5. -- 它的每一次运算都需要外部提供一个时钟上升沿信号 (Tick)
  6. local function L2C_HDL_SEQ_Counter(step: integer): integer
  7.     -- 声明一个带有记忆功能的寄存器 (D触发器),复位初始值为 0
  8.     local count = HDL_Reg(0)
  9.    
  10.     -- 在每一个时钟周期,将当前计数值与外部输入的 step 相加,塞回寄存器
  11.     count = count + step
  12.    
  13.     -- 将寄存器的实时引脚状态连到输出总线
  14.     return count
  15. end

  16. -- 物理域:随便留个入口防止报错
  17. global function main(): integer
  18.     print("Verilog Sequential HLS test...")
  19.     return 0
复制代码







发表于 2026-7-22 12:50:40 来自手机 | 显示全部楼层
厉害了楼主,感谢,好人一生平安🙏
回复

使用道具 举报

发表于 2026-7-22 13:17:20 | 显示全部楼层
感谢楼主的无私分享啊
回复

使用道具 举报

发表于 2026-7-22 15:17:47 | 显示全部楼层
支持,很不错~
回复

使用道具 举报

发表于 2026-7-22 15:29:27 | 显示全部楼层
谷歌翻译...
PixPin_2026-07-22_15-29-01.png
回复

使用道具 举报

发表于 2026-7-22 16:18:16 | 显示全部楼层
这是什么软件呢、

点评

简单来说,就是用lua来写脚本,生成纯c,然后用在单片机或其它类似场景。  详情 回复 发表于 2026-7-22 16:23
回复

使用道具 举报

 楼主| 发表于 2026-7-22 16:23:26 | 显示全部楼层

简单来说,就是用lua来写脚本,生成纯c,然后用在单片机或其它类似场景。
回复

使用道具 举报

发表于 2026-7-22 16:32:27 | 显示全部楼层
好的。不错
回复

使用道具 举报

发表于 2026-7-22 17:26:47 | 显示全部楼层
不错,可以试一下。
回复

使用道具 举报

发表于 2026-7-23 06:46:33 | 显示全部楼层
支持发布

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

发表于 2026-7-23 08:54:42 | 显示全部楼层
惭愧,第一次听说。
回复

使用道具 举报

发表于 2026-7-27 15:02:48 | 显示全部楼层
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1|闽公网安备35020302032614号 )

GMT+8, 2026-8-13 02:57

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表