Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zhkag/morse
morse
https://github.com/zhkag/morse
Last synced: 10 days ago
JSON representation
morse
- Host: GitHub
- URL: https://github.com/zhkag/morse
- Owner: zhkag
- Created: 2023-02-14T17:24:53.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-05-24T06:12:36.000Z (over 1 year ago)
- Last Synced: 2024-11-16T08:34:22.152Z (2 months ago)
- Language: C
- Size: 18.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-rt-thread - morse - Morse code. (Packages / Misc)
- awesome-rt-thread - morse - Morse code. (Packages / Misc)
README
# morse
## 介绍
摩尔斯电码(英语:Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。
摩尔斯电码是一种早期的数字化通信形式,但是它不同于现代只使用0和1两种状态的二进制代码,它的代码包括五种:
1. 点(·):1
2. 划(-):111
3. 字符内部的停顿(在点和划之间):0
4. 字符之间的停顿:000
5. 单词之间的停顿:0000000### 时间控制和表示方法
有两种“符号”用来表示字符:点(·)和划(-),或叫“滴”(dit)和“答”(dah)。点的长度决定了发报的速度,并且被当作发报时间参考。下面是时间控制的图示:
```text
-- --- ·-· ··· · -·-· --- -·· ·
M O R S E C O D E
```这里,“-”表示划,“·”表示点。这是上面消息的准确发报时间(=表示有信号,.代表无信号,每个为一个点的长度):
```text
===.===...===.===.===...=.===.=...=.=.=...=.......===.=.===.=...===.===.===...===.=.=...=
^ ^ ^ ^ ^
| 划 点 | 单词间隔
点划间隔 字符间隔
```划一般是三个点的长度;点划之间的间隔是一个点的长度;字符之间的间隔是三个点的长度;单词之间的间隔是七个点的长度。
初学者往往被教导发送点划间隔短小、短而快的字符,并且在符号和单词之间夸大间隔时间。比较起来,这种方式更加容易学会。
熟悉摩尔斯码的人之间经常像这样说话或拼写(其中,“长音 / Dah”是发“awe”的音):
-- --- ·-· ··· · / -·-· --- -·· ·
DahDah DahDahDah DiDahDit DiDiDit Dit, DahDiDahDit DahDahDah DahDiDi Di.### 基础拉丁字母
| 字符 | 代码 | 字符 | 代码 | 字符 | 代码 | 字符 | 代码 | 字符 | 代码 | 字符 | 代码 | 字符 | 代码 |
| :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |
| A | `·-` | B | `-···` | C | `-·-·` | D | `-··` | E | `·` | F | `··-·` | G | `--·` |
| H | `····` | I | `··` | J | `·---` | K | `-·-` | L | `·-··` | M | `--` | N | `-·` |
| O | `---` | P | `·--·` | Q | `--·-` | R | `·-·` | S | `···` | T | `-` | U | `··-` |
| V | `···-` | W | `·--` | X | `-··-` | Y | `-·--` | Z | `--··` | | | | |### 数字
| 字符 | 代码 | 字符 | 代码 | 字符 | 代码 | 字符 | 代码 | 字符 | 代码 |
| :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |
| 1 | `·----` | 2 | `··---` | 3 | `···--` | 4 | `····-` | 5 | `·····` |
| 6 | `-····` | 7 | `--···` | 8 | `---··` | 9 | `----·` | 0 | `-----` |### 标点符号
| 字符 | 代码 | 字符 | 代码 | 字符 | 代码 | 字符 | 代码 | 字符 | 代码 | 字符 | 代码 |
| :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |
| . | `·-·-·-` | : | `---···` | , | `--··--` | ; | `-·-·-·` | ? | `··--··` | = | `-···-` |
| ' | `·----·` | / | `-··-·` | ! | `-·-·--` | - | `-····-` | _ | `··--·-` | " | `·-··-·` |
| ( | `-·--·` | ) | `-·--·-` | $ | `···-··-` | & | `·-···` | @ | `·--·-·` | + | `·-·-·` |### 特殊符号
| 符号 | 代码 | 意义 | shell 中意义|
| :-: | :-: | :-: | :-: |
| HH | `········` | 表示“有错,从上一字重新开始”。 | 退格(\b) |
| SK | `···-·-` | 表示终止(联系结束)。 | 回车(\n) |## 使用 Morse
### API 介绍
1. 初始化 morse
```c
void morse_init();
```2. morse 信号输入
```c
void morse_input(rt_bool_t flag);
```通过 morse_input 来实现信号的输入功能,可以接收任何形式的信号输入,通过判断输入 1 的时间来完成对 morse code 的解析。
通过使能 PKG_USING_MORSE_SHELL 可以实现输入命令并运行 shell 指令的目的
## 联系方式 & 感谢
- 维护:zhkag
- 主页:https://github.com/zhkag/morse
- 邮箱:[email protected]