USMART V3.1
USMART是由ALIENTEK开发的一个灵巧的串口调试互交组件,通过 它,你可以通过串口助手调用程
序里面的任何函数,并执行.因此,你可以随意更改函数的输入参数(支持数字(10/16进制)、字符串、
函数入口地址等作为参数),单个函数最多支持10个输入参数,并支持函数返 回值显示.V2.1新增
hex和dec两个指令.他们可以用于设置函数参数的显示格式.也可以用于数据的进制转换.
例如:
输入"hex 100" 会在串口调试助手上看到 HEX 0X64.
输入"dec 0X64" 会在串口调试助手上看到 DEC 100.
升级说明
V1.4
增加了对参数为string类型的函数的支持.适用范围大大提高.
优化了内存占用,静态内存占用为79个字节@10个参数.动态适应数字及字符串长度
V2.0
1,修改了list指令,打印函数的完整表达式.
2,增加了id指令,打印每个函数的入口地址.
3,修改了参数匹配,支持函数参数的调用(输入入口地址).
4,增加了函数名长度宏定义.
V2.1 20110707
1,增加dec,hex两个指令,用于设置参数显示进制,及执行进制转换.
注:当dec,hex不带参数的时候,即设定显示参数进制.当后跟参数的时候,即执行进制转换.
如:"dec 0XFF" 则会将0XFF转为255,由串口返回.
如:"hex 100" 则会将100转为0X64,由串口返回
2,新增usmart_get_cmdname函数,用于获取指令名字.
V2.2 20110726
1,修正了void类型参数的参数统计错误.
2,修改数据显示格式默认为16进制.
V2.3 20110815
1,去掉了函数名后必须跟"("的限制.
2,修正了字符串参数中不能有"("的bug.
3,修改了函数默认显示参数格式的修改方式.
V2.4 20110905
1,修改了usmart_get_cmdname函数,增加最大参数长度限制.避免了输入错误参数时的死机现象.
2,增加USMART_ENTIM2_SCAN宏定义,用于配置是否使用TIM2定时执行scan函数.
V2.5 20110930
1,修改usmart_init函数为void usmart_init(u8 sysclk),可以根据系统频率自动设定扫描时间.(固定100ms)
2,去掉了usmart_init函数中的uart_init函数,串口初始化必须在外部初始化,方便用户自行管理.
V2.6 20111009
1,增加了read_addr和write_addr两个函数.可以利用这两个函数读写内部任意地址(必须是有效地址).更加方便调试.
2,read_addr和write_addr两个函数可以通过设置USMART_USE_WRFUNS为来使能和关闭.
3,修改了usmart_strcmp,使其规范化.
V2.7 20111024
1,修正了返回值16进制显示时不换行的bug.
2,增加了函数是否有返回值的判断,如果没有返回值,则不会显示.有返回值时才显示其返回值.
V2.8 20111116
1,修正了list等不带参数的指令发送后可能导致死机的bug.
V2.9 20120917
1,修改了形如:void*xxx(void)类型函数不能识别的bug。
V3.0 20130425
1,新增了字符串参数对转义符的支持。
V3.1 20131120
1,增加runtime系统指令,可以用于统计函数执行时间.
用法:
发送:runtime 1 ,则开启函数执行时间统计功能
发送:runtime 0 ,则关闭函数执行时间统计功能
runtime统计功能,必须设置:USMART_ENTIMX_SCAN 为1,才可以使用!!
正点原子@ALIENTEK
技术论坛:www.openedv.com
修改日期:2013/11/20
Copyright(C) ALIENTEK 2011-2021
IIC实验.zip
需积分: 0 14 浏览量
更新于2024-05-07
收藏 4.39MB ZIP 举报
IIC(Inter-Integrated Circuit)是一种串行通信协议,由飞利浦(现NXP半导体)在1982年开发,主要用于连接微控制器和各种外围设备,如传感器、LCD显示器、实时时钟等。IIC协议设计简单,只需要两根线——数据线SDA(Serial Data)和时钟线SCL(Serial Clock),即可实现多设备通信。它具有主从架构,一个主机可以控制多个从机,并且支持多主机系统。
在这个"IIC实验.zip"文件中,我们可以推测这可能是一个关于IIC通信协议的实际操作教程或者项目代码。其中的"IIC实验2"可能包含了实验的第二部分,这可能包括了更深入的IIC通信实现或者是在前一次实验基础上的扩展。
IIC协议的基本工作原理如下:
1. **启动信号**:在SCL为高电平时,SDA线由高电平变为低电平,标志着IIC通信的开始。
2. **7位地址位**:接着,主机发送7位的从机地址,最后一位表示读写方向(0表示写,1表示读)。
3. **应答位**:从机接收到地址后,如果匹配则会在SCL的上升沿将SDA拉低进行应答,否则保持高电平。
4. **数据传输**:主机和从机之间通过SDA线进行8位数据的传输,每次传输后,从机会返回一个应答位,确认接收或请求重传。
5. **停止信号**:在SCL为高电平时,SDA线由低电平变为高电平,表示通信结束。
IIC协议的亮点在于它的简单性和效率,但是也有其局限性,比如最大通信速度通常不超过400kHz,且距离有限。在实际应用中,我们常常会遇到以下关键知识点:
- **IIC总线冲突**:在多主机系统中,如何避免和解决总线占用冲突是一个重要问题。
- **仲裁机制**:IIC协议在设计时考虑了多主机情况下的仲裁机制,确保只有一个主机可以控制总线。
- **从机寻址**:理解如何正确地寻址和识别不同的从机设备是实施IIC通信的关键。
- **错误检测与恢复**:如何处理应答错误、数据丢失等问题,确保通信的可靠性。
- **软件实现**:在微控制器上实现IIC通信通常需要编写相应的驱动程序,例如使用库函数或直接操作GPIO引脚。
- **硬件设计**:理解IIC接口的硬件电路设计,包括上拉电阻的选择和信号线的布线。
- **扩展应用**:IIC协议还可以与其他协议(如SPI、UART)结合,实现更复杂的系统设计。
在"IIC实验2"中,可能涵盖了以上部分或全部知识点,例如,如何实现IIC通信的初始化,从机设备的读写操作,错误处理策略,或者对IIC总线的调试技巧。通过这个实验,学习者可以深入了解IIC通信协议的工作原理,并具备实际应用IIC的能力。

2401_83386225
- 粉丝: 0
- 资源: 1
最新资源
- weixin071汽车预约维修系统+ssm(文档+源码)_kaic
- weixin072会议发布与预约系统的设计与开发+ssm(文档+源码)_kaic
- weixin073智慧旅游平台开发微信小程序+ssm(文档+源码)_kaic
- weixin074儿童预防接种预约微信小程序+springboot(文档+源码)_kaic
- weixin076亿家旺生鲜云订单零售系统的设计与实现+ssm(文档+源码)_kaic
- weixin075家政服务管理系统+ssm(文档+源码)_kaic
- Python数据科学中Pandas的数据处理核心功能与高级应用解析
- 基于PLECS采用坐标反变换和锁相环的三相逆变器PWM开环控制示例
- Pandas 的安装部署方法以及基本操作介绍
- HCIA-AI课程及试验
- 光伏发电功率预测数据集.zip
- 信息系统项目中人力资源与成本管理的最佳实践及其应用
- electron-v22.3.27-linux-loong64.zip
- Windows时间计算器
- TMC5240步进电机驱动芯片原理图
- 基于Matlab实现语音识别算法(源码+数据).rar