Commit Graph

102 Commits

Author SHA1 Message Date
Stone 921f0553e1 使用cstring替代const char* 2016-06-02 12:10:54 +00:00
nnhy 3d0f6a75bb 统一DateTime::Now()表示当前时间 2016-05-28 08:26:30 +00:00
nnhy 092b310935 拆分DateTime 2016-05-18 03:52:06 +00:00
nnhy abd3b4c8dd 直接用字符指针比String节省开销。
Time减少sprintf开销
2016-05-14 15:17:53 +00:00
WangQiang 04dc3808a9 增加 unix 计时方式 测试时发现偶尔格式化输出存在问题(偏差跳动半个小时) 2016-05-09 10:12:54 +00:00
nnhy d1f6245d9b 所有NULL更换为nullptr,GCC要求更严格。
Sys.h头文件不再包含string.h,禁止SmartOS除了Type和String以外的地方使用内存管理函数
2016-03-14 04:28:04 +00:00
Stone eba9043046 除了Buffer其它任何地方不得使用memcpy/memset 2016-03-11 04:39:30 +00:00
nnhy 11ec1084fd ulong => UInt64
_REV/_REV16 独立汇编实现,不依赖固件库
2016-03-07 10:46:10 +00:00
nnhy 8a71c880ac !!!独立String,增强字符串连接等功能。
为了编译通过,注释了一些其它类的功能代码,慎用该版本!
2016-03-05 06:58:12 +00:00
nnhy 927bac9a0c 常量化Sys和Time,避免各个模块不小心错误修改 2016-01-23 09:22:09 +00:00
Stone 18f782b7d5 2016-01-13 17:30:05 +00:00
nnhy bf98a6682f 取消宏定义string,统一使用字符指针char*,string为C++标准字符串类库让路。
经过测试,在容量较大的芯片上可以使用string,仅使用+=功能,RTM版本固件增加了大概18k。
2015-12-30 08:51:47 +00:00
nnhy 110eefc669 减少日志输出 2015-12-11 14:14:08 +00:00
nnhy 999369a6b2 F1不需要分散加载,那是130才有的问题,需要把重点代码放到系统最前面 2015-12-05 09:06:48 +00:00
WangQiang 970f39c25e 又见神秘23号中断,比GD32F103VE上更严重。 频繁程度达系统一直在中断里出不来 2015-12-04 02:49:38 +00:00
nnhy 474c84cc5d 修正设备重发发送设备上线信息的BUG,简单测试通过 2015-12-02 02:09:51 +00:00
Stone 727ab0a626 内存分配基本上已经稳定,改为直接使用C++实现;
只有Debug模式才指定代码段,一边发行模式固件较小,为了避免编译用不到的代码;
2015-11-21 18:30:33 +00:00
nnhy ae4b2c7171 指定了代码段的类,所包含的函数一定被编译进入发行版固件,不管有没有引用 2015-10-28 13:55:23 +00:00
nnhy 6b966abe59 通过分散加载文件,把核心代码提升到前面去 2015-10-28 09:33:12 +00:00
nnhy 98cd7b3a2e 系统内核时钟中断时间由10秒改为1秒
修正分频计算时整型溢出的BUG
2015-10-22 08:44:20 +00:00
nnhy 7116f2a986 精简不再使用的功能 2015-10-22 01:25:29 +00:00
nnhy 24c10cb49b 中断时间调整为10000ms,也即是10秒,减少中断。
优化Sleep/Delay逻辑。
修正SetTime/Now的错误。
简单测试未发现问题
2015-10-13 15:17:08 +00:00
nnhy 4f8862b24d 优化M0性能 2015-10-08 10:59:54 +00:00
nnhy fc4d8d6a9a 修正各应用中用到的本地时间 2015-10-08 02:52:17 +00:00
nnhy 21f824ddad M0需要极致性能 2015-10-07 13:43:22 +00:00
nnhy 3c9b850ff8 120M时,分频系数必须是120K才能得到1k的时钟,超过了最大值64k
因此,需要增加系数
测试通过,成功解决系统时钟变快的问题
2015-10-07 13:40:00 +00:00
nnhy 0cafd6ad73 修正时间轮错误,简单测试通过,未深入测试 2015-10-07 12:41:09 +00:00
nnhy fef9cd8378 网关借助握手,自动跟服务器同步时间,测试通过 2015-10-07 12:08:06 +00:00
nnhy 414b1dfdaf 优化串口接收中断处理的性能 2015-10-05 14:56:31 +00:00
nnhy 2ee5521bfa 系统时间,以毫秒作为基本精度
编译测试通过
2015-10-05 13:22:23 +00:00
nnhy 43cd70a28d DateTime默认仅解析秒,提升性能,测试通过 2015-10-05 12:34:20 +00:00
nnhy f39d0b0457 修正Sleep/Delay可能造成死循环的BUG
修正TimeCost计算错误
2015-10-05 11:39:17 +00:00
nnhy 0c090906ff !!!系统时钟升级,采用基本定时器计时,计时精度Current修改为毫秒,滴答定时器用于高精度微秒级延迟
编译通过,系统时钟测试可工作,系统各个使用Current的地方未修改
2015-10-05 10:43:28 +00:00
nnhy 2df69092f9 嘀嗒时钟中断不需要关中断,因为它有最高优先级 2015-09-30 03:06:56 +00:00
nnhy eb57c2964f 从Time中拆分RTC,不使用RTC的项目减小2k固件大小,编译通过,未测试 2015-08-22 09:37:55 +00:00
nnhy 3453251026 Parse太大,用不着的时候,不要参与编译 2015-08-19 09:03:33 +00:00
nnhy f372c5391b 主要三大对象的析构函数用不着 2015-08-19 02:49:55 +00:00
nnhy 764de2543b 避免RTC没有启动而造成死循环 2015-08-18 09:49:57 +00:00
nnhy 19b5afe95a 2015-08-13 09:02:26 +00:00
nnhy e1ecb1673e 小睡眠低功耗生效,但是电流减少并不多 2015-08-13 05:32:18 +00:00
nnhy 89ec0e620e 支持通过配置指定RTC使用内部时钟还是外部时钟。
STM32外部RTC时钟很难启动,GD32不会。
但是为了保存时间,又得使用外部时钟。
对于没有纽扣电池的产品,可以使用内部时钟,仅用于低功耗等操作。
2015-08-13 05:23:16 +00:00
nnhy 430c2de2c6 每次上电打开RTC之前,都需要选择好LSI/LSE,否则会死循环等待。
设置报警时间时,不能清零后重新设置ms,还是老办法在原来基础上相加才有效。
Sleep时,判断RTC是否开启了低功耗
2015-08-13 05:08:14 +00:00
nnhy 00cfba7f73 Time::Sleep睡眠计算余量有误
RTC使用内部LSI
2015-08-13 03:58:43 +00:00
nnhy d6ca047052 10ms的休眠就允许进入低功耗模式 2015-08-12 15:30:32 +00:00
nnhy bf59b590c8 调试时,需要重新配置一次RTC,让它按毫秒来工作 2015-08-12 15:18:05 +00:00
nnhy d520e195bf 经过测试GD32F103VE的RTC可以保存时间 2015-08-12 14:54:37 +00:00
nnhy 76d8b7ff17 重构系统时钟架构,RTC独立,编译通过,未测试 2015-08-12 14:33:05 +00:00
nnhy d78cc3dc79 借助RVO优化系统当前时间的返回值 2015-08-12 13:31:55 +00:00
nnhy d6707ef77b 修改Time.Sleep,让它在死循环等待时,可根据外部条件退出。
修改Task调度,让它可中断正在死循环的Sleep,马上进行下一回合任务调度
2015-08-05 15:17:33 +00:00
nnhy 66067c91db RTC兼容GD32F130,编译通过,未测试 2015-07-24 12:36:14 +00:00