-
文件的作用
文件的作用day3 ipl10.nas, 初始区记录信息, 读取软盘, 进入asmhead.nas asmhead.nas, 记录一些信息, 之后初始化显卡以及键盘, 切换为32位模式,最后初始化C环境并进入 bootpack.c: 有main函数的文件 naskfunc.nas: 一些使用汇编实现的函数day5 hankaku.txt: 记录字模day6 dsctbl.c: 关于GDT, IDT的内容 graphic.c : 记录的是绘画的处理 bootpack.c其他处...…
-
启动以及任务管理
启动以及任务管理万事俱备,只欠东风main函数中初始化硬件, 之后创建任务, 然后启动调度器所有的任务都是一个阻塞小心翼翼初始化硬件之后, 创建一个启动函数, 之后启动调度器, 启动任务中创建其他任务, 最后把自己删除初始化创建任务之后, 通过pvPortMalloc->prvHeapInit初始化堆栈之后的启动流程在之前自己实现过…
-
Day1
Day1; hello-os; TAB=4; 以下是Fat12格式的软盘专用代码 DB 0xeb, 0x4e, 0x90 ;DB: define byte写入一个字节的指令 DB "HELLOIPL" ; 启动区的名字,任意的字符, 8字节 DW 512 ; 一个扇区的大小 DB 1 ; 一个簇的大小 DW 1 ; FAT的起始位置 DB 2 ; FAT的个数 DW 224 ; 根目录的大小,一般为224 DW 2880 ...…
-
文件的作用
文件的作用day3 ipl10.nas, 初始区记录信息, 读取软盘, 进入asmhead.nas asmhead.nas, 记录一些信息, 之后初始化显卡以及键盘, 切换为32位模式,最后初始化C环境并进入 bootpack.c: 有main函数的文件 naskfunc.nas: 一些使用汇编实现的函数day5 hankaku.txt: 记录字模day6 dsctbl.c: 关于GDT, IDT的内容 graphic.c : 记录的是绘画的处理 bootpack.c其他处...…
-
启动以及任务管理
启动以及任务管理万事俱备,只欠东风main函数中初始化硬件, 之后创建任务, 然后启动调度器所有的任务都是一个阻塞小心翼翼初始化硬件之后, 创建一个启动函数, 之后启动调度器, 启动任务中创建其他任务, 最后把自己删除初始化创建任务之后, 通过pvPortMalloc->prvHeapInit初始化堆栈之后的启动流程在之前自己实现过…
-
定时器
定时器有三种功能, 定时, 输出比较, 输出捕获, 互补输出有三种: 基本定时器: 定时通用定时器: 没有互补高级定时器: 都有基本定时器16bit, 只能向上计数, 只有TIM6, TIM7没有GPIO, 是内部资源, 时钟来自PCLK1, 72M可以实现1-65535分频, 控制器: 复位, 使能, 计数, 触发DAC, 涉及的寄存器是CR1/2, DIER, SR 时基单元: 包括预分频器, 计数器, 自动重装载寄存器, 计数时钟CK_CNT = CK_PSC/(PSC+1) ...…
-
ADC
ADC模拟数字转换器stm32f有三个ADC, 分辨率为12位, 每一个ADC有18个通道, 外部通道16个 输入电压VREF-<=VIM<=VREF+, 设置电压的引脚, 还有VDDA, 模拟电压的电源, VSSA模拟的地, 这里链接的是3.3V和地 超出电压: 使用分压电路 确定输入通道 使用的引脚有重复 规则通道有16个, 注入通道只有4个, 规则通道: 很规矩, 一般使用的, 注入通道, 可以理解为插入, 是一种不安分的通道, 在规则通道转换的时候强行...…
-
触摸屏
触摸屏电阻触摸屏只能一次一个点, 电容屏可以有多个 电阻屏: 有两层均匀的电阻叫做ITO层, 有间隔点隔开, 受到压力的时候会接触, 在接触点链接, 使得电阻变化, 一般会引出四根线, X+, X-, Y+, Y-, 分别检测电阻, x和y分开时间供电, 一侧供电, 另一侧检测电压, 使用ADC进行检测, 也可以使用专门的芯片进行检测触摸校准: 由于硬件的信息不同, 需要校准 电容屏: 直接可以得出触点的坐标, 也是用ITO层, X轴Y轴不导电, 之间产生电容, 平时对X轴产生一个波动...…