tarapitha/casio_fx
GitHub: tarapitha/casio_fx
Casio计算器串行通信工具,用于与特定型号的计算器进行数据交换。
Stars: 1 | Forks: 0

# 卡西欧FX
用于通过计算器串行端口在计算器和PC之间进行通信的Linux命令行实用程序套件。
## 简介
一些Casio计算器,包括fx-7700GB和fx-7700GE,具有串行接口
带有2.5mm立体声音频插头,用于与其他计算器和PC交换数据。
- 通信线路携带RS-232 TTL信号,电压为旧型号的5V,新型号的3.3V;
- 默认数据率为9600波特,但也可以设置为1200、2400和4800波特。新型号固定为9600;
- 默认情况下,奇偶校验设置为偶校验,但也可以设置为奇校验或无校验。新型号固定为无校验;
Casio提供了可选的连接两个计算器的电缆,零件号
**SB-60** 或 **SB-62**,以及可选的电池供电的电平转换器套件
通过本地串行接口将计算器连接到PC,零件号
**FA-100** 或 **FA-121** 以及可能还有其他。
## 要求
这个实用程序套件是为了使Linux PC
和计算器之间的通信成为可能。它应该适用于任何具有兼容电压级别的合适串行设备。但是,测试仅使用FTDI TTL-232R-5V-AJ电缆
带有3.5mm到2.5mm插头转换器。
转换器必须交叉连接尖端和环连接。
用于测试的硬件:
| 计算器 | FTDI TTL-232R-5V-AJ |
|------------|---------------------|
| 尖端 | 环 |
| 环 | 尖端 |
| 衬套 | 衬套 |
## 功能
这些实用程序已经过测试,将与**fx-7700GB**和**fx-7700GE**型号一起工作,用于仅通信程序。仅测试了单色屏幕快照与**CFX-9850G**一起工作。
为了清楚起见,目前没有实现其他数据通信功能,因为该实用程序主要是为Casio fx-7700GB编写的。后者具有仅传输和接收程序的功能。
## 编译
实用程序套件是为Linux编写的。要创建二进制文件,请在项目根目录中运行**'make'**。二进制文件将构建到'build'子目录中。
运行**'make clean'**以删除构建过程中创建的文件。
## 二进制文件
将构建三个二进制文件:
**casio_rx** - 从计算器接收数据的实用程序。
运行实用程序将PC设置为等待计算器开始传输的状态。
**casio_tx** - 向计算器发送数据的实用程序。
运行实用程序将开始向计算器传输。计算器必须已经处于接收状态
**cas2pbm** - 将计算器中的CAS格式屏幕截图转换为PBM P4图像的实用程序。
所有三个实用程序在没有命令行参数运行或以-h或--help命令行选项启动时,都会输出有关如何使用它们的详细信息。
## 通信协议
实用程序通过串行接口使用特定的基于段的协议与设备通信。
主要阶段:
* 握手和同步
* 带有校验和验证的头数据块传输
* 错误处理
* 可选地随后跟更多数据块和错误处理,具体取决于头类型
更详细的描述:[PROTOCOL.md](./PROTOCOL.md)
段结构的描述:[CAS_FILE.md](./CAS_FILE.md)
标签:Casio, CFX-9850G, FTDI, FX-7700GB, FX-7700GE, RS-232, TTL, 串口通信, 串行接口, 串行端口, 串行线缆, 串行设备, 内存映射, 客户端加密, 数据交换, 数据导入, 数据导出, 电平转换器, 电池供电, 硬件兼容性, 硬件接口, 程序传输, 计算器通信