历史上的今天
今天是:2025年03月05日(星期三)
2018年03月05日 | 单片机对modem需要进行哪些初始化操作?
2018-03-05 来源:eefocus
一般单片机的MODEM通讯必须要有两个背景知识,一个是AT命令集,另一个是通用非同步接收发送器(UART)。
l AT命令集
下面介绍我通讯程式例子中涉及到的AT命令。
Dn:拨号命令。该命令使MODEM立即进入摘机状态,并拨出跟在后面的号码。D命令是基本的拨号命令,它受到其他命令的修饰可构成MODEM何时拨号以及如何拨号等操作。
T:音频拨号。例如,ATDT13632757314,其中13632757314为电话号码。
P:脉冲拨号。例如,ATDT13632757314,其中13632757314为电话号码。
,:标准暂停。我们常常碰到拨打外线电话时需要暂停一下,等听到二次拨号音(外线)之后才能再拨后续的号码。缺省时暂停时间为2s(秒),它由S8寄存器指定。
Sn:表示MODEM内部的寄存器。
S0:自动回应。如果要求MODEM具有自动回应特性,则应该预先将MODEM的S0寄存器设置为非0。
S8:逗号拨号修饰符的暂停时间。该寄存器决定了当MODEM在拨号中遇到逗号(,)时应该暂停的时间。
l 通用非同步接收发送器UART
深入理解UART内部结构以及内部寄存器各位的含义,详细了解资料发送和接收的过程,有助于编写出高效、稳定的程式。
一般介绍编写基本通讯程式需要知道的寄存器。实际的ADDRESS由具体接线决定。
l 串列传输速率除数锁存器(LSB、MSB)
在通讯之前要进行一些参数初始化,串列传输速率是首先应该考虑的一项。该寄存器是一个16位的寄存器,分为低8位(LSB)和高8位(MSB)寄存器。
另外单片机访问的是串列传输速率除数锁存器LSB/MSB。一般常用的工作频率是1。8432MHz。这个频率除以16就是串列传输速率的时钟频率,用于控制发送和接收资料的速度。
下面给出串列传输速率除数锁存器值的计算公式:
串列传输速率除数锁存器值=工作频率/(16×期望串列传输速率)=1843200/(16×期望串列传输速率)
l 接收缓冲寄存器和发送保持寄存器(transmit and receive holding register)
读操作单片机访问接收缓冲寄存器(RHR),写操作单片机访问发送保持寄存器(THR)。
l 中断允许寄存器(interrupt enable register)
l FIFO控制寄存器(FIFO control register)
资料发送和接收模式的选择。常用的两种模式:FIFO和DMA。其中DMA又有两种模式DMA的模式0、DMA的模式1可供选择。
史海拾趣
|
用Atmega8单片机自制智能型液晶显示充电器 (527DZ作品) 一、概述: 移动通讯、消费类数码产品、笔记本电脑、便携仪器等便携设备市场的不断扩张,使得我们对电池的性能和工作寿命的要求不断地提高。从20世纪60年代的商用镍镉和密封铅酸电池到近几年的镍氢和锂离子技术,可充电电池容量和性能得到 ...… 查看全部问答> |
|
本人在做一个东西,用到SiI3114芯片,这个芯片是把PCI端口和SATA硬盘连接起来的。 注:PCI端口是用的DM642的PCI端口. 现在遇到的问题是 SiI3114有没有什么开发环境去开发它本身的BIOS,就像51单片机有 ...… 查看全部问答> |
|
如何运行U-boot目录下examples下的hello_world.c 在U-boot下的examples下有hello_world.c和其它几个.c文件,还有mips.lds和Makefile,从网上查得是这几个.c文件经过编译后可以在U-boot下运行,即在裸机下运行。我的板子是MIPS的,请问如何在我的板子上的U-boot上运行这个hello_world呢? 哎!三 ...… 查看全部问答> |
|
安装evc4.0的问题(愁的头发白了,高手一定帮帮忙啊!!) 我在最近学习wince,因为周围就我一人在搞,导师还在催,天天郁闷 现在装evc4.0时,按照网上给的步骤装的: 1、安装ACTIVE SYNC(MSASYNC.EXE) 2、安装EVC4.0 3、安装evc4sp2.exe 4、安装Mic ...… 查看全部问答> |
|
#include<stdio.h>#include<reg51.h>//实例12:用自增运算控制P0口8位LED流水花样#include<reg51.h> //包含单片机寄存器的头文件/******************************************************函数功能:延时一段时间************** ...… 查看全部问答> |
|
假设vxworks发起两个任务A,B 。在A中trt_startex 那么怎么通过trt_chopen和trt_connect来连接了。具体方法是怎么样呀。… 查看全部问答> |




