Commit Graph

132 Commits

Author SHA1 Message Date
Ace dc7c4429fb 485方向切换,作为主机时,波特率115200,
发送后延时导致从机的前几个字节接收不到,延时从1ms调整为0.1ms。
切换到接收模式不需要延时。
2019-10-25 09:38:49 +08:00
大石头 02bda21d79 为了方便使用ToString,串口和以太网继承自Object 2017-09-15 22:55:10 +08:00
大石头 39752ee2ff 改回来使用系统时钟延迟,因为需要比较大的延迟时间 2017-04-09 18:04:18 +08:00
大石头 6ee3f018e3 增加标准串口设备配置和Spi口设备配置 2017-04-09 18:03:45 +08:00
大石头 ae444cbcf7 I2C读写时发送多次地址,避免内部繁忙;
SoftI2C每次发送完毕后,都拉低时钟拉高SDA;
AT24CXX内部存储数据,忙!等1ms差点点,等5ms足够了
2017-04-07 14:13:48 +08:00
大石头 168203cf1a 测试最后一次是否需要Ack/Nak 2017-04-07 13:17:51 +08:00
大石头 8ff176ec09 SDA/SCL 默认上拉,检测SDA是否有高电平 2017-04-07 11:35:39 +08:00
大石头 8654de9b96 I2C等待时间加倍;
AT24C02单页最大写入8字节,需要分批写入
2017-04-07 10:56:43 +08:00
大石头 b4d6c346be 134行EEPROM上最后一次也要等Ack,否则错乱;
修正Read2/Read4小字节序错误;
在0A04的AT24C02上测试通过。
2017-04-06 19:24:43 +08:00
大石头 8818b1feba 新增发布SDK的脚本 2017-03-25 10:29:31 +08:00
大石头 5a695d5f82 降低串口波特率 2017-03-16 19:46:25 +08:00
大石头X2 f3417a0328 不能或运算,否则轮询时会连续触发,具体原因未清楚 2017-03-07 17:56:43 +08:00
大石头X2 080a877b55 设置按键初始状态,避免开始轮询时产生一次误触发 2017-03-07 15:33:08 +08:00
大石头X2 ce907e827b 在GD32F103VE上,按下PE13,有5%左右几率触发PE14的弹起中断,需要过滤。
准备更换STM32F103VE确认是否还存在该问题。
输入队列效果并不是很理想,按键事件代码执行很快,平均300us多,队列绝大多数时候只有一项,偶尔两项,极少出现三项。
修正抖动逻辑,不管是10还是01,一律延迟抖动时间再执行任务,再次期间,太近的中断可以取消当前和上一次。
2017-03-07 12:21:25 +08:00
大石头X2 293b440fb7 调试口缓冲区更大一些,才能看到Buffer/Array/String的单元测试全部日志 2017-03-02 17:09:06 +08:00
大石头X2 2a06ec612e 调整串口默认波特率为115200,主频>=36M时1024000,主频>=72M时2048000。
同时缩小默认收发缓冲区大小,并在用到时才分配。
提升速度,降低缓冲区要求,减少内存占用。
2017-03-02 17:01:50 +08:00
大石头X2 c5913bd583 Flash驱动先这样,以后再调整架构 2017-03-02 10:17:41 +08:00
大石头X2 b42f7c5ab3 合并写入,减少擦除次数 2017-03-01 03:52:51 +08:00
大石头X2 1d6498c866 优先使用int替换为uint,方便运算,能够准确识别产生的负数。
GCC/VC编译通过,MDK编译Port/I2C失败
2017-02-28 14:57:07 +08:00
大石头X2 226f837205 优先使用int替换为uint,方便运算,能够准确识别产生的负数。 2017-02-28 14:21:30 +08:00
大石头X2 fc216e5f69 基础类库和系统内核尽可能的使用int替代uint,方便计算,避免溢出了也不知道。 2017-02-27 18:36:07 +08:00
大石头X2 3f2747222c 修正vc++编译时的各种警告,主要是有符号数和无符号数比较 2017-02-27 17:23:57 +08:00
大石头 7d36d3ce73 解除对基类Object依赖 2017-02-26 15:06:52 +08:00
大石头X2 b6cdf8c3ad 减少I2C日志 2017-02-18 20:34:25 +08:00
大石头X2 8007f1d1fb 重构输入输出端口Port的设计,F1与F0/F4的端口初始化结构体大小不一样,导致F0/F4不能仿照F1那样取巧 2017-02-18 12:18:21 +08:00
大石头X2 3305e02215 调整I2C日志输出 2017-02-17 17:07:33 +08:00
大石头 fa329294f1 绝对路径引用Sys.h,避免与lwip冲突 2017-02-15 20:02:29 +08:00
cdy 9aacf9d6e7 修正port轮询事件 2017-02-11 16:54:29 +08:00
cdy 3e0d0fadf1 修正port 判断empity错误 2017-01-18 08:55:53 +08:00
大石头X2 6128491092 修正一些编译错误 2017-01-10 18:13:55 +08:00
大石头X2 fb978939f9 修正STM32F0编译错误 2017-01-10 17:53:59 +08:00
大石头X2 22d13506a5 打开日志输出口,需要较大发送缓冲区 2017-01-10 16:08:53 +08:00
大石头X2 bc0059c45f 缓冲区使用时分配64字节内存,串口默认256字节内存
串口打开完成之前不要输出调试日志,否则很容易造成无限递归。
2017-01-10 16:03:13 +08:00
大石头X2 5eb2f08e98 收发缓冲区默认256字节,缓冲区满后抛弃新数据而不是覆盖 2017-01-10 15:41:09 +08:00
大石头X2 cf07838078 STM32共用绝大部分串口驱动代码 2017-01-09 19:56:40 +08:00
大石头X2 a90a73597e 调试日志输出直达串口,不再经printf中转 2017-01-09 18:45:17 +08:00
大石头 4bc245a556 修正MDK中WEAK的错误。
Functions declared with __attribute__((weak)) and then defined without __attribute__((weak)) behave as weak functions. This is not the same behavior as the __weak keyword
2017-01-09 11:58:28 +08:00
大石头X2 d1a25f11c4 这一次触发离上一次太近,算作抖动忽略掉 2017-01-07 21:04:24 +08:00
大石头X2 f1a1908615 重构端口类Port的移植逻辑 2017-01-06 21:44:34 +08:00
大石头X2 b9387ec5cc 先打开引脚再读取状态,才能准确判断初始电平 2017-01-06 20:21:45 +08:00
大石头X2 c139a67dff 鉴于性能过剩,输入口不再支持设置上升沿下降沿触发,修改为默认同时支持上升下降触发,由用户层代码判断上下。 2017-01-06 20:21:09 +08:00
大石头X2 f2dee255c1 改进电源管理,系统空闲时自动进入低功耗睡眠 2016-12-28 16:54:48 +08:00
大石头X2 f7768ec184 看门狗默认超过20000算是最大值,关闭 2016-12-28 14:55:14 +08:00
大石头X2 9a0a4c0051 需要初始化_port 2016-12-27 20:43:11 +08:00
大石头X2 a56080eb15 打开串口时输出更多日志 2016-12-27 19:04:48 +08:00
大石头X2 365bb2a26e 重构串口驱动输入输出引脚,便于移植 2016-12-27 18:51:26 +08:00
大石头X2 d626ecbdda 调整为便于移植 2016-12-27 16:46:33 +08:00
大石头X2 7f8fb40823 两个中断函数改为公开,方便驱动移植 2016-12-27 15:27:48 +08:00
大石头X2 d373419c80 输入轮询时间间隔。默认100ms,允许外部修改 2016-12-26 11:40:13 +08:00
大石头X2 8042144626 Port.Index表示批量端口序号,State存储用户状态,主要用于移植 2016-12-17 11:18:40 +08:00