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