随笔分类 -  uCOS

摘要:__align __align 关键字指示编译器在 n 字节边界上对齐变量。 __align 是一个存储类修饰符。它不影响函数的类型。 语法 __align(n) 其中: n 是对齐边界。 对于局部变量,n 值可为 1、2、4 或 8。 对于全局变量,n 可以具有最大为 2 的 0x80000000 阅读全文
posted @ 2016-07-09 10:57 xidongs 阅读(22393) 评论(0) 推荐(1) 编辑
摘要:使用GPRS首先需要打开串口,设置好串口的各项参数。一、AT+CMGL 读取所有短信A、读取所有的信息:第一步:at+cmgf=1 如果返回ok则继续。说明:AT+CMGF SELECT SMS MESSAGE FORMAT第二步:at+cmgl=”all”成功返回OK否则ERROR+CMGL: 1,"REC READ","+8613702936376",,"05/12/16,09:04:43+00"testOKB、读取未读的信息第一步:at+cmgf=1如果返回ok则继续。第二步:at+cmgl=” rec unread”成功返回O 阅读全文
posted @ 2011-08-13 22:57 xidongs 阅读(5107) 评论(0) 推荐(0) 编辑
摘要:AT+CFUN=1,1 //此命令可以开启simcom模块的大部分功能,一般在初始化模块的时候都要写上;AT&F //设置缺省制造商当前所有参数测试网络情况AT+CSQ //+CSQ: 28,0 返回信号强度,10以上就可以AT+CREG? //+CREG: 0,1 测试网络注册情况,第二个参数为1或5就可以AT+COPS? //+COPS: 0,0,"CHINA MOBILE" 测试运营商电话AT+CHFA=1 //0/1此命令用来切换两个音频通道AT+CLIP=1 //来电显示ATH //断开现有连接/挂断电话ATA //接听电话AT+VTS="dt& 阅读全文
posted @ 2011-08-13 22:55 xidongs 阅读(624) 评论(0) 推荐(0) 编辑
摘要:名称: sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。 其中的format可以是一个或多个 {%[*] [width] [{h | l | I64 | L}]type | ' ' | '\t' 阅读全文
posted @ 2011-08-13 15:24 xidongs 阅读(821) 评论(0) 推荐(0) 编辑
摘要:首先我们先看看3.1.0的文件结构和以前2.0有什么不同: 1. startup_stm32f10x_xx.s启动文件;里面定义了启动地址和中断的入口他分别对大、中、小以及互联产品写了不同的启动文件。在建工程的时候我们按照我们使用的芯片选择相应的文件即可。 这个文件和2.0的stm32f10x_vector.c文件作用是一样的 2 core_cm3.c定义了很多在不同调试器下的汇编语言读写内核寄存器的标号他和2.0的cortexm3_macro.s文件做的工作是一样的 3 在3.1.0里面多了一个system_stm32f10x.c系统初始化文件,主要是对系统rcc的初始化我们只需要改变文件上 阅读全文
posted @ 2011-02-11 23:44 xidongs 阅读(1046) 评论(0) 推荐(0) 编辑
摘要:stm32+sdio+fatfs文件系统 源码分析 一、概述1、目的在移植之前,先将源代码大概的阅读一遍,主要是了解文件系统的结构、各个函数的功能和接口、与移植相关的代码等等。2、准备工作在官方网站下载了0.07c版本的源代码,利用记事本进行阅读。二、源代码的结构1、源代码组成 源代码压缩包解压后,共两个文件夹,doc是说明,src里就是代码。src文件夹里共五个文件和一个文件夹。文件夹是option,还有00readme.txt、diskio.c、diskio.h、ff.c、ff.h、integer.h。对比网上的文章,版本已经不同了,已经没有所谓的tff.c和tff.h了,估计现在都采用条 阅读全文
posted @ 2011-02-09 13:29 xidongs 阅读(11668) 评论(0) 推荐(1) 编辑
摘要:FATFS 的几个函数用法:FATFS *fs, fatfs;fs = &fatfs;f_mount(0, fs);b = f_open(&infile,"SD.txt",FA_CREATE_NEW); //创建新文件f_close(&infile); //关闭文件b = f_open(&infile,"SD.txt", FA_WRITE); //以写方式打开文件f_puts((char *)buff2,&infile); //文件内写入字符串f_puts((char *)b 阅读全文
posted @ 2011-02-08 23:20 xidongs 阅读(12718) 评论(0) 推荐(0) 编辑
摘要:任务管理 1 OSTaskCreate() 建立一个新任务。任务的建立可以在多任务环境启动之前,也可以在正在运行的任务中建立。中断处理程序中不能建立任务。一个任务可以为无限循环的结构。函数原型:INT8U OSTaskCreate(void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio);参数说明:task 是指向任务代码首地址的指针。 pdata 指向一个数据结构,该结构用来在建立任务时向任务传递参数。 ptos is a pointer to the task's top of stack. If the configur 阅读全文
posted @ 2011-01-31 00:09 xidongs 阅读(4179) 评论(0) 推荐(0) 编辑
摘要:(1)使能os_cfg.h头文件中 #define OS_SEM_EN 1 (2)三个重要函数《1》OS_EVENT *OSSemCreate (INT16U cnt); 参数:cnt表示信号量 ; 返回值:可看作该信号量的句柄 (当cnt==1的时候,表示互斥操作)《2》INT8U OSSemPost (OS_EVENT *pevent); 参数:信号量句柄 ; 返回值:表示错误码返回 OS_ERR_NONE(0)表示成功《3》void OSSemPend (OS_EVENT *pevent, INT16U timeout, INT8U *perr); 参数:1.信号量句柄; 2.等待时间( 阅读全文
posted @ 2011-01-30 23:57 xidongs 阅读(884) 评论(0) 推荐(0) 编辑
摘要:事例代码:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--//配置硬件看门狗voidIWDG_Configuration(void){//喂狗标记externu8isReloadIWDG;//将看门狗的复位实现设置为3276.8ms/*EnablewriteaccesstoIWDG_PRandIWDG_RLRregisters*/IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);/*IWDGcounte 阅读全文
posted @ 2011-01-30 23:52 xidongs 阅读(3896) 评论(0) 推荐(0) 编辑
摘要:uC/OS-II是一个简洁、易用的基于优先级的嵌入式抢占式多任务实时内核。尽管它非常简单,但是它的确在很大程度上解放了我的嵌入式开发工作。既然是一个操作系统内核,那么一旦使用它,就会涉及到如何基于操作系统设计应用软件的问题。 1、uC/OS-II的任务框架void task_xxx(void *pArg){ /* 该任务的初始化工作 */…… /* 进入该任务的死循环 */ while(1) {……}} 每个用户的任务都必须符合事件驱动的编程模型,即uC/OS-II的应用程序都必须是“事件驱动的编程模型”。一个任务首先等待一个事件的发生,事件可以是系统中断发出的,也可以是其它任务发出的,又可以 阅读全文
posted @ 2011-01-29 20:59 xidongs 阅读(1950) 评论(0) 推荐(1) 编辑