Skip to content

Commit 024cb2e

Browse files
committed
zz
1 parent 55cdb12 commit 024cb2e

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

docs/smalltalk/st0082.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66

77
---
88

9-
这是凹语言在第三届软件创新发展大会上展出的LCD示例程序,效果如下:
9+
这是凹语言在 [第三届软件创新发展大会](https://wa-lang.org/smalltalk/st0081.html) 上展出的LCD示例程序,效果如下:
1010

1111
![](/st0082-01.jpg)
1212

1313
## 1. LCD1602 显示屏
1414

15-
LCD1602(Liquid Crystal Display 1602)是一种常见的字符型液晶显示模块,其中1602表示它能够显示16列2行共32个字符字符。LCD1602内置了ASCII中字母、数字和常见的符号点阵字库。类似的还有LCD2004表示20列4行、LCD12864表示128列64行等不同尺寸的显示屏,但是他们引脚都都16个,控制的方式差不多。
15+
LCD1602(Liquid Crystal Display 1602)是一种常见的字符型液晶显示模块,其中1602表示它能够显示16列2行共32个字符字符。LCD1602内置了ASCII中字母、数字和常见的符号点阵字库。类似的还有LCD2004表示20列4行、LCD12864表示128列64行等不同尺寸的显示屏,但是他们引脚都是16个,控制的方式差不多。
1616

1717
![](/st0082-02.png)
1818

@@ -72,7 +72,7 @@ global (
7272
)
7373
```
7474

75-
首先是初始化6个引脚为输入模式
75+
首先是初始化6个引脚为输出模式(对应LCD为输入)
7676

7777
```wa
7878
func LCDInit {
@@ -87,7 +87,7 @@ func LCDInit {
8787
}
8888
```
8989

90-
然后是设置为4bit传输模式
90+
通过D4-D7每次传入的是4bit的数据或命令,借助`write4bits`函数完成
9191

9292
```wa
9393
func LCDInit {
@@ -128,7 +128,7 @@ func pulseEnable {
128128
}
129129
```
130130

131-
最后是`LCDInit`函数中清空屏幕等初始化的收尾工作:
131+
最后是补齐`LCDInit`函数中清空屏幕等初始化的收尾工作:
132132

133133
```wa
134134
func LCDInit {
@@ -221,7 +221,7 @@ func LCDWriteChar(ch: rune)
221221
func LCDClear()
222222
```
223223

224-
## 3. Arduino 程序
224+
## 3. Arduino 示例程序
225225

226226
参考凹语言主仓库的`waroot/examples/arduino-lcd1602`目录,构造简化版程序如下:
227227

@@ -277,6 +277,6 @@ func SayHello(row, col: i32, s: string) {
277277

278278
这个例子本身并不复杂,但其背后的技术演化从最初的Wasm3虚拟机、到重写wat后端衍生出的wat2c工具、到真正跑通全链路花了将近3年时间。
279279

280-
凹语言分别在2022年底和2024年底增加了和改善对Arduino-wasm平台的支持,当时的技术方案是通过Wasm3虚拟机来执行凹语言输出的wasm程序。但是 Wasm3 最小的硬件依赖是 ~64Kb Flash,对于小内存的单片机支持比较弱。开发组通过wat2c技术去掉了对Wasm3的性能损耗,终于可以让程序运行在只有2KB内存的Arduino Nano开发板上。
280+
凹语言分别在2022年底和2024年底增加了和改善对Arduino平台的支持,当时的技术方案是通过Wasm3虚拟机来执行凹语言输出的wasm程序。但是 Wasm3 最小的硬件依赖是 ~64Kb Flash,对于小内存的单片机支持比较弱。开发组通过wat2c技术去掉了对Wasm3的性能损耗,终于可以让程序运行在只有2KB内存的Arduino Nano开发板上。
281281

282282
从第一个五年计划的“能用”,到第二个五年计划的“好用”,这个例子正是“好用”的一个侧面写照。我们对任何形式的讨论和合作保持开放态度,期待诸位一起推动新一轮演化!

0 commit comments

Comments
 (0)