labijun 发表于 2021-9-15 15:00:08

<TI83/84和C语言教程>使用c_ti83p.h库

本帖最后由 labijun 于 2021-9-15 16:13 编辑

开始前发牢骚:{:13_322:}
精华帖子的C语言连接失效拉!!因此一直是处于,我知道能用c语言写,但有苦于没有教程(或者说一个引导的方向)

好了,首先是
下载地址:
c_ti83p.h库的下载地址
binpac8x.py 文件,将.bin转为83,84可用的后缀
系统环境
*主要使用环境Linux*
*我使用的环境Ubuntu20.*,因为方便*
原因:安装软件方便,还有个原因就是我windows上直接下载下来的文件有缺失.(当然了你可以试一下直接git下载到win系统上,我没试过,懒~)
"使用TI-83plus se"
↑以上只是我写这篇教程的环境,你当然可以使用其他的环境...
,我的下一楼将会讲述如何配置ubuntu系统下的环境准备.(如果你会,可以跳过)

#最后,我是大菜鸟,也没有系统学习过,都是这里看一点 ,那里摸索一点,有错误,有不对的地方请指正,就当看一乐吧~

labijun 发表于 2021-9-15 15:17:58

本帖最后由 labijun 于 2021-9-15 16:11 编辑

我们假设你从未接触过Linux系统(我的系统是Ubuntu20.*)
***哼~但起码听过吧***

如果你遇到任何困难,你可以通过探索和百度~~
考虑到以后的变化,搜索关键字我已经加粗,例如: ubuntu 更新apt包

首先是复制这一段来更新apt包
apt-get update -y
如果你是管理员,那么你可能不需要输入密码,反之,你可能需要输入管理员账户密码.

安装sdcc
sudo apt-get install sdcc -y
如果你是管理员,那么你可能不需要输入密码,反之,你可能需要输入管理员账户密码.

接着,你需要安装git
apt install git -y

写下来嘞,你需要通过git获取我们的项目(c_ti83p)
git clone https://github.com/mortonsc/c_ti83p.git
最后,我们需要binpac8x.py 这个文件(链接在1L)...(这部分写的好累)
总之就下载下来解压,得到binpac8x.py 这个文件,后面会写的emmm很模糊?难以理解?我很难描述.建议问下百度.

.py显然是个python文件
因此你需要安装python,文档上说无所谓python2或者python3,这里我安装的是python3
sudo apt-get install python3.8 -y我的是通过xshell连接的ubuntu服务器,我可以使用
rz将binpac8x.py 文件传输




好啦~至于linux下的基本命令诸如
cd
mkdir
vim (这个文本编辑器你可能需要另外安装)
你需要自行了解一点,其实和windows下的操作差不多,只不过变成了敲字母

,我的下一楼会讲述如何使用改库并编写一个经典的hello world程序
#最后,呜呜呜,我不知道怎么添加图片~放最后来试下C:\Users\HoGen\Desktop\ti83withcteach\1.png

labijun 发表于 2021-9-15 15:38:01

本帖最后由 labijun 于 2021-9-15 15:59 编辑

此时你可以键入ls
看到了你下载下来的文件夹
此时键入
cd c_ti83p你可以进入这个文件夹
此时键入
make会自动生成一些文件(其中 c_ti83p.lib 和 tios_crt0.rel文件我们之后还会用到他们)

此时你可以编写自己的c语言文件了,
键入(vim是个软件,你可能需要下载,当然你可以通过别的方式写文件,或者传文件,巴拉巴拉~)vim main.c#懂得变通哈~,如果你编写的源文件不是叫main.c 后面的命令也需要改哈!

此时按下 i 进入INSERT模式,此时你可以写c语言代码进去了
使用该库,你只需要通过#include引用即可
#include "c_ti83p.h"
int main()
{
    CDispStr("Hello world");//打印hello world
    CGetKey();
    return 0;
}我们可以看下主要函数CDispStr()的描述
/* Prints s in the large font, and advances the cursor */
void CDispStr(const uint8_t *s);
↑他说以大字母打印,并且向前移动光标
好的,那么我们提前看一下最终效果吧

!!!!还没结束哦!!!!



labijun 发表于 2021-9-15 16:02:51

本帖最后由 labijun 于 2021-9-15 16:09 编辑

好了,此时键入sdcc -mz80 --std-sdcc99 --reserve-regs-iy --max-allocs-per-node 30000 --code-loc 0x9D9B --data-loc 0 --no-std-crt0 tios_crt0.rel c_ti83p.lib main.c此时,又生成了一大波文件! 但我们要关注的是.ihx后缀的文件
(呜呜呜,这里注意了,github上的教程是有lib/c_ti83p.lib这样的,但事实上,你之前通过make生成的文件就在本文件夹中)

注意到最后一个 main.c 这是我们刚才写的c语言程序

此时键入
sdobjcopy -Iihex -Obinary main.ihx main.bin转化main.ihx文件为main.bin

最后我们要使用binpac8x.py了!
键入(我使用python3)
python3 binpac8x.py -x main.bin这里生成了main.8xp的文件就可以传输到计算器拉
生成 TI-83plus 计算器使用的格式(.8xp)咯
那么问题来了,其他的计算器用的呢~
      请看binpac8x文档(*Φ皿Φ*)这里我截取了一部分


例如你可以通过改 -x 为 -3来生成给ti83使用的文件.



~~~也不知道为啥,使用python2不行


labijun 发表于 2021-9-15 16:40:48

本帖最后由 labijun 于 2021-9-15 16:42 编辑

最后嘞,如果你和我一样懒的话你可以在同文件夹下创建一个名为
Makefile
的文件(没有后缀),其中的内容为FILEN=main
SDCC=sdcc -mz80 --std-sdcc99 --reserve-regs-iy --max-allocs-per-node 30000 --code-loc 0x9D9B --data-loc 0 --no-std-crt0 tios_crt0.rel c_ti83p.lib
$(FILEN).8xp: $(FILEN).bin
      python3 binpac8x.py -x $(FILEN).bin
$(FILEN).hex: $(FILEN).ihx
      sdobjcopy -Iihex -Obinary $(FILEN).ihx $(FILEN).bin
$(FILEN).ihx: $(FILEN).c
      $(SDCC) $(FILEN).c看第一行FILEN=main,我们的前面的编译的文件的起点是main.c所以假设以后你编写一个 ha.c的文件,你需要修改这里.
再看python3 binpac8x.py -x $(FILEN).bin 你可以发现,这里也可以根据需要更改


页: [1]
查看完整版本: <TI83/84和C语言教程>使用c_ti83p.h库