随笔 - 730  文章 - 2  评论 - 12  阅读 - 92万
04 2015 档案
小程序
摘要:void u16_outlento_u8(unsigned char *d,unsigned char len,unsigned int *s){ unsigned char i=0,j=0; for(;i执行循环体->变量变化->变量判断,满足?是继续循环体:结束循环体。当变量变化放在循环体内也... 阅读全文
posted @ 2015-04-28 09:36 杰瑞鼠 阅读(280) 评论(0) 推荐(0) 编辑
MODBUS-寄存器与功能码学习
摘要:1.Modbus-RTU 是数据在串口RS485等链路上传输的,数据包格式=PDU(Process Data Unit)+CRC2.Modbus-TCP是在以太网TCP层传输的,使用502端口,客户端和服务器模式,数据包格式=前导字节+PDU,没有CRC了,多了前导字节。 3.Modbus over 阅读全文
posted @ 2015-04-22 18:04 杰瑞鼠 阅读(31202) 评论(0) 推荐(1) 编辑
systick优先级的理解
摘要:sysTick系统嘀嗒定时器并非STM32独有的,它是Cortex内核的部分,CM3为它专门开出一个异常类型,并且在中断向量表中占有一席之地(异常号15)。这样它可以很方便的移植到不同厂商出CM3内核的芯片上,尤其对于有实时操作系统的软件,它一般会作为整个系统的时基,所以这个对操作系统非常重要1 s... 阅读全文
posted @ 2015-04-21 16:24 杰瑞鼠 阅读(5234) 评论(0) 推荐(2) 编辑
16进制与容量
摘要:我们知道存储的:1K=2^10=1024=0x0400(从0x000~0x3ff)=4*0x100=2^2*2^8 0x1000==2^12=4k1M=2^20=1048576=0x0010 00001G=2^30=107471824=0x4000 0000所以根据相应的16进制就可很容易算出... 阅读全文
posted @ 2015-04-21 14:49 杰瑞鼠 阅读(1124) 评论(0) 推荐(0) 编辑
串口问题总结:
摘要:直通线交叉线: 标准DB9(PC的公头 2=RX;3=TX;5=GND),延长线(母头连PC,公头连设备)也是标准的直连线;但PC和设备之间需要交叉(设备端DB9的2=TX=MCU的TXD,即MCU和设备板子上的DB9是不交叉的),但这很不方便,一般PC到设备都让其直连,而设备的DB9与MCU之间实 阅读全文
posted @ 2015-04-21 11:55 杰瑞鼠 阅读(1346) 评论(0) 推荐(0) 编辑
ucos-内存管理:
摘要:注意:一个内存分区至少含有2个内存块(块的大小至少能满足一个指针大小)1先定义一个内存块结构指针OS_MEM *buffMEM,在定义一个而为指针A[m][n]2创建内存分区:buffMEM=OSMemCreate(A,m,n,&err)3申请一个内存块:void *Pblk1=OSMemGet(b... 阅读全文
posted @ 2015-04-16 16:17 杰瑞鼠 阅读(341) 评论(0) 推荐(0) 编辑
UCOS-信号标志组(学习笔记)
摘要:信号标志组即根据各任务的信号进行逻辑运算,根据逻辑运算的结果决定是否进行。发送方指定向那个标志组的哪一位(响应位等于1表明向哪一位发)发1还是0.等待逻辑结果的任务指定等待那个标志组的哪几位、这几位按照什么逻辑运算。 阅读全文
posted @ 2015-04-16 14:51 杰瑞鼠 阅读(183) 评论(0) 推荐(0) 编辑
UCOS-消息队列(学习笔记)
摘要:消息队列的核心是一个消息的指针数组,UCOS系统初始化时根据OS_CONFI.h中的最大队列个数定义这么多个消息队列(队列的结构)并将他们串联成空的链表,创建消息队列时从空链表中抽出一个并用指针数组的大小和地址赋值给对应的队列指针。当使用广播形式队列时各等待队列的都会收到改消息。 阅读全文
posted @ 2015-04-16 14:35 杰瑞鼠 阅读(686) 评论(0) 推荐(0) 编辑
UCOS-消息邮箱(学习笔记)
摘要:任务间数据传递通过缓冲区进行,如果将缓冲区赋值给时间控制块成员:指针OSEventPtr,且任务控制块类型为OS_EVENT_TYPE_MBOS则即为消息邮箱:一创建消息邮箱:OS_EVENT *OSMboxCreate(void *msg)//先定义一个任务控制块,改函数返回值给该任务控制块时其类... 阅读全文
posted @ 2015-04-16 14:18 杰瑞鼠 阅读(1162) 评论(0) 推荐(0) 编辑
UCOS-互斥信号量(学习笔记)
摘要:互斥信号量主要是为了解决信号量出现的优先级反转的情况:任务的运行取决于优先级和获得信号量2个条件,并且获得信号量又优先于设定的优先级。剥夺性内核对信号量进行独占访问,就有可能出现先获得信号量的低优先级任务在独占信号量过程中被高优先级任务剥夺CPU控制权而挂起,不能及时释放信号量,而高优先级任务又需要... 阅读全文
posted @ 2015-04-16 13:50 杰瑞鼠 阅读(5220) 评论(0) 推荐(0) 编辑
UCOS-信号量(学习笔记)
摘要:当事件控制块类型为OS_Event_Type_SEM类型时就是信号量,包含2个内容:信号量计数器OSEventcnt和等待列表OSEventTbl[].一创建信号量:OSSemCreat(int16u cnt);其参数表明信号量计数器的初值。该函数创建后等待列表都为0(即没有等待任务),因为等该信号... 阅读全文
posted @ 2015-04-16 12:29 杰瑞鼠 阅读(482) 评论(0) 推荐(0) 编辑
RVMDK的DEBUG调试-实时数据查看
摘要:无论在Simulation还是硬件仿真的情况下,View-period windows update后watch窗口添加的变量即可实时更新,软仿真和硬件仿真的区别就是实际时间的差异:如RTC查看秒的变化,软件仿真误差就很大。 阅读全文
posted @ 2015-04-16 10:00 杰瑞鼠 阅读(282) 评论(0) 推荐(0) 编辑
OSTimeDelay(1)
摘要:当OS_TICKS_PER_SEC=100HZ ,即每个时钟节拍10ms;如果想延时10ms而调用OSTimeDelay(1)是不行的,调用该函数至少要2个时钟节拍才不会因时间太短,调度跟不上而产生错误。OSTimeDelay(2)与OSTimeDlyHMSM(0,0,2,0)等价 阅读全文
posted @ 2015-04-14 19:23 杰瑞鼠 阅读(615) 评论(0) 推荐(0) 编辑
STM32中断控制及优先级设置
摘要:M3用8bits而STM32用高四位来表示抢占和子优先级:bit=1表示抢占;bit=0表示非抢占即子优先级;所以共有5中方案分组:分组 Bit7 Bit6 Bit5 Bit4 说明:第0组 0 0 0 0第1组 1 0 0 0第2组 1 1 0 ... 阅读全文
posted @ 2015-04-14 18:33 杰瑞鼠 阅读(3194) 评论(0) 推荐(0) 编辑
MODBUS-RTU学习
摘要:一 RTU比ASCII(传输间隔可达1s不出错)传输密度高。参数格式:起始位+8BITS数据位+校验位+停止位。 16位数据先发送高位再发送低位,DH=Data>>8;DL=(U8)Data;也可以用ARM的汇编高低字节交换操作指令。若0x1234==__REV16(0x3412) 1.1校验默认为 阅读全文
posted @ 2015-04-06 17:15 杰瑞鼠 阅读(623) 评论(0) 推荐(0) 编辑
STM32的串口
摘要:一:2个状态位_itstatus与_flagstatus的区别: _flagstatus:只是读状态标志,不管中断是否使能或发生。例如使用查询方式发送数据就需要读改状态位。 _itstatus:和中断相关,除了读状态位外还涉及对控制寄存器的操作,使用中断方式必须使用该状态位进行中断是否发生的判断和状 阅读全文
posted @ 2015-04-06 10:46 杰瑞鼠 阅读(385) 评论(0) 推荐(0) 编辑
ARM7+PROTEUS调试(转)
摘要:网上说ARM7调试产生的.axf文件不能直接放在PROTEUS中调试,方法:将.axf文件复制一份修改后缀名为.elf文件加载即可;hex文件删除倒数(用编辑器)第二行后保存即可加载 阅读全文
posted @ 2015-04-06 09:57 杰瑞鼠 阅读(269) 评论(0) 推荐(0) 编辑
何时要打开stm32的AFIO时钟
摘要:STM32的管脚配置一般有2个:Default和rinmap,如果使用default就不需要打开AFIO,否则使用后者就需要打开3个时钟:GPIO时钟、外设功能时钟和AFIO时钟。一般在涉及外中断配置、管脚重定向或对AFIO_EVCR寄存器改写操作时需要打开AFIO时钟。 阅读全文
posted @ 2015-04-06 09:51 杰瑞鼠 阅读(546) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示