1209单片机配置过程记录
1 PSEQ是什么,要置为数字模式吗,SCL20应该是简易IIC的
2 P11~P15 output 为啥
3 有哪些需要配置上拉电阻的:
4 开关机需要配什么:初始化powerKey 、POWER_EN,调整 GpioPowerOnOff 里面做检测的那几个端口的宏定义,拉高引脚暂时不考虑 P11以外的引脚。
5 #if 1 这种用法可以用在有一段代码你暂时需要,但是可能之后又不需要的情况下,例如调试语句,当你不需要的时候就可以改为#if 0,比打/**/简单。但是关于编译与否,变量定义在哪儿这个还需要推敲推敲,先可以这样用用。
6 低功耗配置:目前看来低功耗的实现方法就是停止不需要的功能,然后喂狗之后再
哪儿有SCR寄存器啊,这玩意干嘛的,这个是ARM内核里面的,能找到能用就行
位操作指令是汇编啊
15位间隔定时器说的任意时间间隔是什么意思,是指0~14位那个吧?是的,0~14位确定产生INTIT中断的固定时间间隔
时钟源的选择可以选择高速系统时钟吗,15000又是什么意思,这个赋值好像可以这样赋值,,,,,高速系统时钟和低速内部振荡时钟似乎有点内部联系
15位间隔定时器也可以产生INIT中断对吧?所以0~14位要置0,因为目前只需要它提供给看门狗计时就好了(看门狗的喂狗是循环喂的)。不对,15位间隔这个和低速内部振荡是两回事,那个项目里是当睡眠的时候固定唤醒深睡用的,所以一开始不需要打开。
KEY_START 起到什么作用还得确定一下。就是开中断,让电源键可以触发中断
为什么要停止计数器的运行并且在_stop之后再重启呢,没有停止,外部看门狗没有停止,它是唤醒喂狗再睡,我这里的内部看门狗打算就停止内部计数器然后彻底阻塞在那里了
所以键中断的意思就是摁下给低电平时由于配置过KRM寄存器,所以可以产生中断对吧,KRM2对应就是72?但是PMx也说了,产生复位信号后变为FFH,是的KRM2对应P72那个端口。这个复位信号一会儿再看。
这个深度睡眠模式,应该就是在进入后硬件停止了很多时钟源的供出,即使PER0设为了允许,对吧,然后有中断解除后就又自动开始提供时钟了,不对,进深睡前要把PER0先尽量停了。
看门狗的时钟源fIL不用初始化嘛。。。?好像还真不用初始化,就用选项字节配置,然后喂狗就是重置计数器,写个ACH就完事了
欸?看门狗的间隔中断和内部复位信号好像不是一回事吧
7 看门狗组成:
选项字节控制是否开始、WDTE写来清除计数器、LOCKUP寄存器特殊情况设置、没发现需要配置 fIL。
8 15位间隔定时器
配置PER0、选择时钟源及运行时钟的选择、控制15位间隔定时器(RINTE是计数器的控制、0~14位是用来控制多长时间产生一个INTIT中断)。
****************************12/13****************************
9 激光器配置流程
初始化端口、配置串口---单片机通过串口和激光器通信、配置IIC---单片机通过IIC和1108通信。
IIC配置:
时钟64mhz/2不还是大于20mhz吗
如何选择快速模式还是增强型快速模式,后续再试吧
从属设备本地地址设置:尤其注意SVA地址存储寄存器取高7位来当作地址,因此0x28应当变为0x14
数据位最多有10位,串口最多发9位,而且是电脑串口,实际只有8位
10 单片机程序自动更新
0x8800后面放需要更新的程序
主控板通知单片机准备开始传输,单片机收到消息后(这里选择究竟是电平信号还是用IIC传递?)
开始设置传递的字节多少,7680?
先擦除,然后开始接收数据,第一次为什么接收了但没写?
后面那个位运算是什么意思?
检测是否有这个文件,有的话打开,然后计算大小和读取内容,用 malloc获取地址,每次发一点每次发一点
先发送15个9过去,那边进行计数,到了10个9就将标志位置1,置1就说明后续开始接收的是长度,收完长度之后,置2,2就说明后面收到的都是更新的东西
发完之后还要进一个新模式,这个模式里就是等待然后发送
浙公网安备 33010602011771号