12 2017 档案
摘要:缘 起 最近在stm32f103上做一个智能家居的项目,其中选择的实时操作系统是 rt_thread OS v1.2.2稳定版本,其中涉及到C和java(android)端数据的交换问题,经过讨论和研究,选择了json格式的数据进行交互。当然,如果自己去写一个json解析器,有点重造轮子的嫌疑。于是
阅读全文
摘要:关于cjson的介绍和使用方法就不在这里介绍了,详情请查看上一篇博客cjson使用方法。 JSON的内存结构像广义表,可以认为是有层次的双向链表。 cJSON程序中的细节点如下: 大量宏替换 大量静态函数 错误处理机制 字符串处理时存在utf16转utf9,编码转换 用函数指针封装malloc,fr
阅读全文
摘要:cJSON源码分析 简介 由于C语言汇总,没有直接的字典,字符串数组等数据结构,所以要借助结构体定义,处理json。 JSON是一种轻量级的数据交换格式。JSON采用完全独立与语言的文本格式,易于人阅读和编写。同时也易于机器解析和生成。它是基于JavaScript,Programming Langu
阅读全文
摘要:前言 cjson 的代码只有 1000+ 行, 而且只是简单的几个函数的调用。 而且 cjson 还有很多不完善的地方, 推荐大家看完之后自己实现一个 封装好的功能完善的 cjson 程序。 json 基本信息 在阅读 json 之前, 建议阅读一下 json 的官方介绍。 如果上面的英文吓到你了的
阅读全文
摘要:#include "stdio.h" typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; typedef unsigned long long uint64_t;
阅读全文
摘要:1 #include "stdio.h" 2 3 4 typedef char int8_t; 5 typedef short int16_t; 6 typedef int int32_t; 7 typedef long long int64_t; 8 9 typedef unsigned char ...
阅读全文
摘要:【转】玩转嵌入式(公众号) 在入门单片机时,想必大家都都会遇到一下这种情况 unsigned char a = 0x12; unsigned char b = 0x34; unsigned int c = 0; 如何把两个8位数据和在一起变成16位数据呢? 一般情况下大家都会这样做,我最初是也是这么
阅读全文
摘要:1 /** 2 ***************************************************************************************** 3 * @FileName 可变长度的结构体成员 4 * @Editor 一点零一 5 * @EdotTime 2017年...
阅读全文
摘要:举例 等待事件标志组的任务,要是在中断服务程序中设置事件标志组,但不知道当前有多少个任务在等待此事件标志,这个操作即为不确定性操作,为了不在中断服务程序中执行此不确定性操作,只在中断服务程序中给一确定任务发送消息,而在此确定任务中执行事件标志组置位操作,对于临界段的处理,则是将临界段改为调度锁来完成
阅读全文
摘要:在操作系统中,低优先级任务想要得到CPU的使用权,是建立在高优先级任务遇到阻塞语句的前提下,比如等待事件标志、等待消息、等待信号量、遇见延迟函数等 而在低优先级任务执行过程中,高优先级任务在干什么,或者说CPU在干什么 在抢占式操作系统中,高优先级任务是不会等待低优先级任务彻底执行完毕后,通过调度器
阅读全文
摘要:一、问题描述在一个使用FreeRTOS的工程中,只做了SD卡的驱动,由于RTOS使用了Systick,故非系统延时函数使用的是 DWT中的时钟周期(CYCCNT)计数功能,但是在SD卡驱动中使用了这个非系统延时导致,烧写程序后板子工作正常,而下电再上电后板子无反应,分析排查去掉了这个非系统延时后工作
阅读全文
摘要:PMOS: NMOS: NMOS是栅极高电平(VGS > Vt)导通,低电平断开,可用来控制与地之间的导通。PMOS是栅极低电平(VGS < Vt)导通,高电平断开,可用来控制与电源之间的导通。 PMOS 和 NMOS使用总结 上图为USB OTG电源管理分离电路 分析如下 1)假定左侧无电压,右侧
阅读全文
摘要:Compiler optimization levels and the debug view 4.3 Compiler optimization levels and the debug view The precise optimizations performed by the compile
阅读全文
摘要:hex和bin文件格式的区别 Intel HEX文件是记录文本行的ASCII文本文件,在Intel HEX文件中,每一行是一个HEX记录,由十六进制数组成的机器码或者数据常量。Intel HEX文件经常被用于将程序或数据传输存储到ROM、EPROM,大多数编程器和模拟器使用Intel HEX文件。
阅读全文
摘要:或许你曾经仔细了解过什么是大端小端,也动手编写了测试手头上的机器上是大端还是小端的程序,甚至还编写了大端小端转换程序;但过了一段时间之后,当你再看到大端和小端这两个字眼,你的脑中很快浮起了自己曾经做过的工作,却总是想不起究竟哪种是大端、哪种是小端,然后又去查以前写的记录?更让人不快的是,这种经历反反
阅读全文

浙公网安备 33010602011771号