USART 库函数
函数名描述
USART_DeInit 将外设U SARTx 寄存器重设为缺省值
USART_Init 根据U SART_InitStruct 中指定的参数初始化外设
USARTx寄存器
USART_StructInit 把U SART_InitStruct 中的每一个参数按缺省值填入
USART_Cmd 使能或者失能U SART 外设
USART_ITConfig 使能或者失能指定的U SART 中断
USART_DMACmd 使能或者失能指定U SART 的D MA 请求
USART_SetAddress 设置U SART 节点的地址
USART_WakeUpConfig 选择U SART 的唤醒方式
USART_ReceiverWakeUpCmd 检查USART是否处于静默模式
USART_LINBreakDetectLengthConfig 设置U SART LIN 中断检测长度
USART_LINCmd 使能或者失能U SARTx 的L IN 模式
USART_SendData 通过外设U SARTx 发送单个数据
USART_ReceiveData 返回 USARTx 最近接收到的数据
USART_SendBreak 发送中断字
USART_SetGuardTime 设置指定的U SART 保护时间
USART_SetPrescaler 设置U SART 时钟预分频
USART_SmartCardCmd 使能或者失能指定U SART 的智能卡模式
USART_SmartCardNackCmd 使能或者失能N ACK 传输
USART_HalfDuplexCmd 使能或者失能U SART 半双工模式
USART_IrDAConfig 设置U SART IrDA 模式
USART_IrDACmd 使能或者失能U SART IrDA 模式
USART_GetFlagStatus 检查指定的U SART 标志位设置与否
USART_ClearFlag 清除U SARTx 的待处理标志位
USART_GetITStatus 检查指定的U SART 中断发生与否
USART_ClearITPendingBit 清除U SARTx 的中断待处理位
函数U SART_ GetITStatus
函数名USART_ GetITStatus
函数原形ITStatus USART_GetITStatus(USART_TypeDef* USARTx, u16 USART_IT)功能描述检查指定的U SART 中断发生与否
输入参数1USARTx:x 可以是1,2 或者3,来选择U SART 外设
输入参数2USART_IT:待检查的U SART 中断源
参阅S ection:USART_IT 查阅更多该参数允许取值范围输出参数无
返回值USART_IT 的新状态
先决条件无
被调用函数无
USART_IT 值
USART_IT 描述
USART_IT_PE 奇偶错误中断
USART_IT_TXE 发送中断
USART_IT_TC 发送完成中断
USART_IT_RXNE 接收中断
USART_IT_IDLE 空闲总线中断
USART_IT_LBD LIN 中断探测中断
USART_IT_CTS CTS 中断
USART_IT_ORE 溢出错误中断
USART_IT_NE 噪音错误中断
USART_IT_FE 帧错误中断
例:/* Get the USART1 Overrun Error interrupt status */
ITStatus ErrorITStatus;
ErrorITStatus = USART_GetITStatus(USART1, USART_IT_OverrunError);
函数U SART_ReceiveData
函数名USART_ ReceiveData
函数原形u8 USART_ReceiveData(USART_TypeDef* USARTx)
功能描述返回U SARTx 最近接收到的数据
输入参数USARTx:x 可以是1,2 或者3,来选择U SART 外设
输出参数无
返回值接收到的字
先决条件无
被调用函数无
例:/* Receive one halfword on USART2 */
u16 RxData;
RxData = USART_ReceiveData(USART2);
函数U SART_ ClearITPendingBit
函数名USART_ ClearITPendingBit
函数原形void USART_ClearITPendingBit(USART_TypeDef* USARTx, u16 USART_IT)功能描述清除U SARTx 的中断待处理位
输入参数1USARTx:x 可以是1,2 或者3,来选择U SART 外设
输入参数2USART_IT:待检查的U SART 中断源
参阅S ection:USART_IT 查阅更多该参数允许取值范围输出参数无
返回值无
先决条件无
被调用函数无
例:/* Clear the Overrun Error interrupt pending bit */
USART_ClearITPendingBit(USART1,USART_IT_OverrunError);
函数U SART_Init
函数名USART_Init
函数原形void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct)
功能描述根据U SART_InitStruct 中指定的参数初始化外设U SARTx 寄存器
输入参数1USARTx:x 可以是1,2 或者3,来选择U SART 外设
输入参数2USART_InitStruct:指向结构U SART_InitTypeDef的指针,包含了外设U SART的配置信息参阅S ection:USART_InitTypeDef 查阅更多该参数允许取值范围输出参数无
返回值无
先决条件无
被调用函数无
typedef struct
{
u32 USART_BaudRate;
u16 USART_WordLength;
u16 USART_StopBits;
u16 USART_Parity;
u16 USART_HardwareFlowControl;
u16 USART_Mode;
u16 USART_Clock;
u16 USART_CPOL;
u16 USART_CPHA;
u16 USART_LastBit;
} USART_InitTypeDef;
USART_InitTypeDef 成员U SART 模式对比。在同步和异步模式下使用的成员不同。
成员异步模式同步模式
USART_BaudRate X X
USART_WordLength X X
USART_StopBits X X
USART_Parity X X
USART_HardwareFlowControl X X
USART_Mode X X
USART_Clock X
USART_CPOL X
USART_CPHA X
USART_LastBit X
USART_BaudRate成员设置了U SART 传输的波特率,波特率可以由以下公式计算:
IntegerDivider = ((APBClock) / (16 * (USART_InitStruct->USART_BaudRate))) 整数分频。FractionalDivider = ((IntegerDivider - ((u32) IntegerDivider)) * 16) + 0.5 USART_WordLength小数分频。USART_WordLength 定义,提示了在一个帧中传输或者接收到的数据位数。
USART_WordLength 描述
USART_WordLength_8b 8 位数据
USART_WordLength_9b 9 位数据
USART_StopBits 定义,发送的停止位数目
USART_StopBits 描述
USART_StopBits_1 在帧结尾传输1个停止位
USART_StopBits_0.5 在帧结尾传输0.5 个停止位
USART_StopBits_2 在帧结尾传输2个停止位
USART_StopBits_1.5 在帧结尾传输1.5 个停止位
USART_Parity 定义,奇偶模式
USART_Parity 描述
USART_Parity_No 奇偶失能
USART_Parity_Even 偶模式
USART_Parity_Odd 奇模式
注意:奇偶校验一旦使能,在发送数据的MSB位插入经计算的奇偶位(字长9位时的第9位,字长8位时的第8位)USART_HardwareFlowControl 定义,指定了硬件流控制模式使能还是失能。
USART_HardwareFlowControl 描述
USART_HardwareFlowControl_None 硬件流控制失能
USART_HardwareFlowControl_RTS 发送请求R TS 使能
USART_HardwareFlowControl_CTS 清除发送C TS 使能
USART_HardwareFlowControl_RTS_CTS RTS 和C TS使能
USART_Mode 定义,指定了使能或者失能发送和接收模式。可同时使能或失能两个模式。
USART_Mode 描述
USART_Mode_Tx 发送使能
USART_Mode_Rx 接收使能
USART_CLOCK 定义,提示了U SART 时钟使能还是失能。
USART_CLOCK 描述
USART_Clock_Enable 时钟高电平活动
USART_Clock_Disable 时钟低电平活动
USART_CPOL 定义,指定了下S LCK 引脚上时钟输出的极性。
USART_CPOL 描述
USART_CPOL_High 时钟高电平
USART_CPOL_Low 时钟低电平
USART_CPHA,指定下S LCK引脚上时钟输出的相位和C POL位一起配合来产生用户希望的时钟/数据采样关系.
USART_CPHA 描述
USART_CPHA_1Edge 时钟第一个边沿进行数据捕获
USART_CPHA_2Edge 时钟第二个边沿进行数据捕获
USART_LastBit定义,控制是否在同步模式下,在S CLK引脚上输出最后发送的那个数据字(MSB)对应的时钟脉冲。
USART_LastBit 描述
USART_LastBit_Disable 最后一位数据的时钟脉冲不从S CLK 输出
USART_LastBit_Enable 最后一位数据的时钟脉冲从S CLK 输出
例:/*下面的示例说明了如何配置USART1*/
USART_InitTypeDef USART_InitStructure;
USART_https://www.wendangku.net/doc/413697514.html,ART_BaudRate = 9600;
USART_https://www.wendangku.net/doc/413697514.html,ART_WordLength = USART_WordLength_8b;
USART_https://www.wendangku.net/doc/413697514.html,ART_StopBits = USART_StopBits_1;
USART_https://www.wendangku.net/doc/413697514.html,ART_Parity = USART_Parity_Odd;
USART_https://www.wendangku.net/doc/413697514.html,ART_HardwareFlowControl = USART_HardwareFlowControl_RTS_CTS; USART_https://www.wendangku.net/doc/413697514.html,ART_Mode = USART_Mode_Tx | USART_Mode_Rx;
USART_https://www.wendangku.net/doc/413697514.html,ART_Clock = USART_Clock_Disable;
USART_https://www.wendangku.net/doc/413697514.html,ART_CPOL = USART_CPOL_High;
USART_https://www.wendangku.net/doc/413697514.html,ART_CPHA = USART_CPHA_1Edge;
USART_https://www.wendangku.net/doc/413697514.html,ART_LastBit = USART_LastBit_Enable;
USART_Init(USART1, &USART_InitStructure);
函数U SART_ Cmd
函数名USART_ Cmd
函数原形void USART_Cmd(USART_TypeDef* USARTx, FunctionalState NewState)
功能描述使能或者失能U SART 外设
输入参数1USARTx:x 可以是1,2 或者3,来选择U SART 外设
输入参数2NewState: 外设U SARTx 的新状态
这个参数可以取:ENABLE 或者D ISABLE
输出参数无
返回值无
先决条件无
被调用函数无
例:/* Enable the USART1 */ USART_Cmd(USART1, ENABLE);
函数U SART_ITConfig
函数名USART_ITConfig
函数原形void USART_ITConfig(USART_TypeDef* USARTx, u16 USART_IT,
FunctionalStateNewState) 功能描述使能或者失能指定的U SART 中断
输入参数1USARTx:x 可以是1,2 或者3,来选择U SART外设
输入参数2USART_IT:待使能或者失能的U SART 中断源
参阅S ection:USART_IT 查阅更多该参数允许取值范围
输入参数3NewState:USARTx 中断的新状态
这个参数可以取:ENABLE 或者D ISABLE
输出参数无
返回值无
先决条件无
被调用函数无
USART_IT 值可以取下表的一个或者多个取值的组合
USART_IT 描述
USART_IT_PE 奇偶错误中断
USART_IT_TXE 发送中断
USART_IT_TC 传输完成中断
USART_IT_RXNE 接收中断
USART_IT_IDLE 空闲总线中断
USART_IT_LBD LIN 中断检测中断
USART_IT_CTS CTS 中断
USART_IT_ERR错误中断
例:/* Enables the USART1 transmit interrupt */
USART_ITConfig(USART1, USART_IT_Transmit ENABLE);
函数U SART_ SendData
函数名USART_ SendData
函数原形void USART_SendData(USART_TypeDef* USARTx, u8 Data)
功能描述通过外设U SARTx 发送单个数据
输入参数1USARTx:x 可以是1,2 或者3,来选择U SART 外设
输入参数2Data: 待发送的数据
输出参数无
返回值无
先决条件无
被调用函数无
例:/* Send one HalfWord on USART3 */ USART_SendData(USART3, 0x26);
函数U SART_ GetFlagStatus
函数名USART_ GetFlagStatus
函数原形FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, u16 USART_FLAG)功能描述检查指定的U SART 标志位设置与否
输入参数1USARTx:x 可以是1,2 或者3,来选择U SART 外设
输入参数2USART_FLAG:待检查的U SART 标志位
参阅S ection:USART_FLAG 查阅更多该参数允许取值范围输出参数无
返回值USART_FLAG 的新状态(SET 或者R ESET)
先决条件无
被调用函数无
USART_FLAG 值,可以被函数USART_ GetFlagStatus检查的标志位列表
USART_FLAG 描述
USART_FLAG_CTS CTS 标志位
USART_FLAG_LBD LIN 中断检测标志位
USART_FLAG_TXE发送数据寄存器空标志位
USART_FLAG_TC发送完成标志位
USART_FLAG_RXNE接收数据寄存器非空标志位
USART_FLAG_IDLE空闲总线标志位
USART_FLAG_ORE溢出错误标志位
USART_FLAG_NE 噪声错误标志位
USART_FLAG_FE 帧错误标志位
USART_FLAG_PE 奇偶错误标志位
例:/* Check if the transmit data register is full or not */
FlagStatus Status;
Status = USART_GetFlagStatus(USART1, USART_FLAG_TXE);
C++ API函数大全 PatBlt 在当前选定的刷子的基础上,用一个图案填充指定的设备场景 PlgBlt 复制一幅位图,同时将其转换成一个平行四边形。利用它可对位图进 行旋转处理 1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接WNetEnumResource 枚举网络资源 WNetGetConnection 获取本地或已连接的一个资源的网络名称 WNetGetLastError 获取网络错误的扩展错误信息 WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC(统一命名规范)名称WNetGetUser 获取一个网络资源用以连接的名字 WNetOpenEnum 启动对网络资源进行枚举的过程 2. API之消息函数
BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口 GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置GetMessageTime 取得消息队列中上一条消息处理完毕时的时间 PostMessage 将一条消息投递到指定窗口的消息队列 PostThreadMessage 将一条消息投递给应用程序 RegisterWindowMessage 获取分配给一个字串标识符的消息编号 ReplyMessage 答复一个消息 SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口 SendMessageCallback 将一条消息发给窗口 SendMessageTimeout 向窗口发送一条消息 SendNotifyMessage 向窗口发送一条消息 3. API之文件处理函数 CloseHandle 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等CompareFileTime 对比两个文件的时间 CopyFile 复制文件 CreateDirectory 创建一个新目录 CreateFile 打开和创建文件、管道、邮槽、通信服务、设备以及控制台
C语言函数大全(m开头) main()主函数 每一C 程序都必须有一 main() 函数, 可以根据自己的爱好把它放在程序的某 个地方。有些程序员把它放在最前面, 而另一些程序员把它放在最后面, 无论放 在哪个地方, 以下几点说明都是适合的。 1. main() 参数 在Turbo C2.0启动过程中, 传递main()函数三个参数: argc, argv和env。 * argc: 整数, 为传给main()的命令行参数个数。 * argv: 字符串数组。 在DOS 3.X 版本中, argv[0] 为程序运行的全路径名; 对DOS 3.0 以下的版本, argv[0]为空串("") 。 argv[1] 为在DOS命令行中执行程序名后的第一个字符串; argv[2] 为执行程序名后的第二个字符串; ... argv[argc]为NULL。 *env: 安符串数组。env[] 的每一个元素都包含ENVVAR=value形式的字符 串。其中ENVVAR为环境变量如PATH或87。value 为ENVVAR的对应值如C:\DOS, C: \TURBOC(对于PATH) 或YES(对于87)。 Turbo C2.0启动时总是把这三个参数传递给main()函数, 可以在用户程序中 说明(或不说明)它们, 如果说明了部分(或全部)参数, 它们就成为main()子程序 的局部变量。 请注意: 一旦想说明这些参数, 则必须按argc, argv, env 的顺序, 如以下 的例子: main() main(int argc) main(int argc, char *argv[]) main(int argc, char *argv[], char *env[])
C/C++头文件说明 1.概述 C++标准库的所有头文件都没有扩展名。C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能。
C++程序设计常用库函数 本文主要涉及两类库函数,运行期库(run-time library)和C++标准库。下面简单介绍这些库的使用要点。 运行期库是用C语言实现的基础程序库,其它库都以此为基础。MSDN将运行期库按功能划分,如表B-1所示。来自MSDN Library Visual Studio 6.0 Visual C++ Documentation Using Visual C++ Visual C++ Programmers’s Guide Run-Time Library Reference Run-Time Routines by Category 表B-1运行期库
注1 MSDN按以上19类功能对运行期库分组。 注2 同一个函数可能出现在不同功能分组中,也可能出现在不同的头文件中。 注3 运行期库是纯C语言实现,不包含C++的内容(没有重载、形参缺省值、引用、模板等)。表B-2 运行期库头文件 注1,表中列出的18个头文件是作为C++标准库,而运行期库的头文件还有许多未列入。 注2,C++标准库的头文件大多不含.h后缀。 注3,左边头文件内容被包装到C++标准的命名空间std中。例如,
表B-3 标准C++库头文件 注1,表中列出了32个头文件,加上前面18个包装头文件,共50个头文件,组成C++标准库。 注2,还有几个头文件未列入文档,
C语言函数大全 1 字符测试函数 函数(及意义)函数分解Isalnum(){判断字符是否is alphbet(字母表) number(数字) 为字母或数字} Isalpha(){判断是否为英文is alphbet(字母表) 字母} Isblank(){空格和TAB} is blank(空格) Iscntrl() { 控制} is control(控制) Isdigit(){数字} is digit(数字) Isgraph(){除空格外的可打is graph(图表) 印字符} Islower(){是否为小写} is lowercase(小写) Isprintf(){可打印字符含空这个简单 字符} Ispunct(){标点或特殊符号is punctuation(标点) } Isspace(){检查是否为空字is space(空间) 符,即判断是否为空格,水平 定位字符“\t”,归位字符“\r ”,垂直定位字符“\v”,换行 字符“\n”,翻页“\f”} Isupper(){是否为大写字母is upper_case(大写) } Isxdigit(){十六进制} is hexadecimal digit(十六进制) Tolower(){将小写转换成 大写} Toupper(){将大写转换成这个简单(to change 或者to covert 或者 小写} transformation
字符串函数 Memchr(){在某一内存范围内查找一特定字符}Memory (储存)char(字符型炭)也可以是character (字符) Memcmp(){比较区域 str1,str2的前n个字节} Memory(同理)compare(比较) Memcpy(){由str2所指内存区域复 制n个字节到str1所指内存区域} Memory copy(复制) Memmove(){两个所指的内存区域 可重叠,但是内容会更改,函数 返回值为指向区域内存的指针} Memory move(移动) Memset(){把str所指的内存区域 的前N个字节设置成字符c} Set(设置)