摘要: LCD有如下控制线:CS:Chip Select 片选,低电平有效RS:Register Select 寄存器选择WR:Write 写信号,低电平有效RD:Read 读信号,低电平有效RESET:重启信号,低电平有效DB0-DB15:数据线假如这些线,全部用普通IO口控制。根据LCD控制芯片手册(大部分控制芯片时序差不多):如果情况如下:DB0-DB15的IO全部为1(表示数据0xff),也可以为其他任意值,这里以0xff为例。CS为0(表示选上芯片,CS拉低时,芯片对传入的数据才会有效)RS为1(表示DB0-15上传递的是要被写到寄存器的值),如果为0,表示传递的是数据。WR为0,RD为1( 阅读全文
posted @ 2013-09-02 00:18 scdyxcc 阅读(789) 评论(0) 推荐(0) 编辑
摘要: 1、在ucos-ii中,有这么几张表来管理任务。A、OSTCBPrioTbl[],其结构为OS_TCB指针的数组,其元素个数为64, 每一个元素对应一个任务的优先级,ucos-ii最多可以有64个任务,所以当有任务建立的时候,其每一个元素均指向一个任务控制块(若相应的优先级,已经建立了任务的话);若相应的优先级没有建立任务,则该数组元素指向的是(OS_TCB *)0;B、任务控制块链表,该链表的每个节点,都是OS_TCB型结构。任务控制块链表除了本身构成一个双向链表,其还与OSTCBPrioTbl[](OSTCBPrioTbl[]存放的就是任务控制块的首地址)和任务堆栈相联系(通过OS_TCB 阅读全文
posted @ 2013-08-29 21:06 scdyxcc 阅读(1535) 评论(0) 推荐(0) 编辑
摘要: 下面是我找的一些资料,也贴出来给大家看看。(1)GPIO_Mode_AIN模拟输入(2)GPIO_Mode_IN_FLOATING浮空输入(3)GPIO_Mode_IPD下拉输入(4)GPIO_Mode_IPU上拉输入(5)GPIO_Mode_Out_OD开漏输出(6)GPIO_Mode_Out_PP推挽输出(7)GPIO_Mode_AF_OD复用开漏输出(8)GPIO_Mode_AF_PP复用推挽输出推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电 阅读全文
posted @ 2013-06-05 23:37 scdyxcc 阅读(624) 评论(0) 推荐(0) 编辑
摘要: microlib提供了一个有限的stdio子系统,它仅支持未缓冲的stdin、stdout和stderr。这样,即可使用printf()来显示应用程序中的诊断消息。要使用高级I/O函数,您必须提供自己实现的以下基本函数,以便与您自己的I/O设备配合使用。fputc()为所有输出函数实现此基本函数。例如,fprintf()、printf()、fwrite()、fputs()、puts()、putc()和putchar()。fgetc()为所有输入函数实现此基本函数。例如,fscanf()、scanf()、fread()、read()、fgets()、gets()、getc()和getchar() 阅读全文
posted @ 2013-04-22 01:21 scdyxcc 阅读(2243) 评论(0) 推荐(0) 编辑
摘要: STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK)在STM32串口通信程序中使用printf发送数据,非常的方便。可在刚开始使用的时候总是遇到问题,常见的是硬件访真时无法进入main主函数,其实只要简单的配置一下就可以了。下面就说一下使用printf需要做哪些配置。有两种配置方法:一、对工程属性进行配置,详细步骤如下1、首先要在你的main 文件中 包含“stdio.h” (标准输入输出头文件)。2、在main文件中重定义<fputc>函数 如下: // 发送数据 int fputc(int ch, FILE *f) { USART_SendDa 阅读全文
posted @ 2013-04-22 01:08 scdyxcc 阅读(824) 评论(0) 推荐(0) 编辑
摘要: 问题及现象(STM32F103系列:http://www.y-ec.com/cpcp/class/?32.html)使用USART_SendData()函数非连续发送单个字符是没有问题的;当连续发送字符时(两个字符间没有延时),就会发现发送缓冲区有溢出现象。若发送的数据量很小时,此时串口发送的只是最后一个字符,当发送数据量大时,就会导致发送的数据莫名其妙的丢失。如:for(TxCounter = 0;TxCounter < RxCounter; TxCounter++)USART_SendData(USART1, RxBuffer[TxCounter]);原因此API函数不完善,函数体内 阅读全文
posted @ 2013-02-28 23:22 scdyxcc 阅读(3417) 评论(1) 推荐(0) 编辑
摘要: 转至网络便携式设备的ESD 保护十分重要,而TVS 二极管是一种十分有效的保护器件,与其它器件相比有其独特的优势,但在应用时应当针对不同的保护对象来选用器件,因为不同的端口可能受到的静电冲击有所不同,不同器件要求的保护程度也有不同。要注意相应的参数鉴别以及各个生产商的不同设计,同时还要进行合理的PCB 布局。本文介绍在便携式设备的ESD 保护中如何应用TVS 二极管器件。便携式设备如笔记本电脑、手机、PDA、MP3 播放器等,由于频繁与人体接触极易受到静电放电(ESD)的冲击,如果没有选择合适的保护器件,可能会造成机器性能不稳定,或者损坏。更坏的情况是查不出确切的原因,使用户误认为是产品质量问 阅读全文
posted @ 2013-02-18 17:12 scdyxcc 阅读(915) 评论(0) 推荐(0) 编辑
摘要: 1 //晶振的频率 2 #define OSC_FREQ (11059200UL) 3 4 //每个指令的振荡周期数(4,6,12),注意,这里一定要仔细查看芯片手册 5 //*12 - 早期的8051、8052及当前的绝大部分51单片机 6 //*6 - Philips 的芯片 7 //*4 - Dallas 8 #define OSC_PER_INST (12) 9 10 //TIME 为定时时间 单位MS11 #define PRELOAD1MS (65536 - 1*(UINT16)(OSC_FREQ/(OSC_PER_INST*1000)))12 #define PRELOAD5.. 阅读全文
posted @ 2013-01-25 10:23 scdyxcc 阅读(3446) 评论(0) 推荐(0) 编辑
摘要: 转自:http://bbs.ednchina.com/BLOG_ARTICLE_3007162.HTM工作了一年多,写了不少单片机串口程序。感觉串口多字节接收部分的逻辑相对于配置寄存器跟串口回复来说,是有点难度的——寄存器配置基本上都是死的,串口回复多字节跟回复一字节只是多了一个循环。 串口接收程序是基于串口中断的,单片机的串口每次接收到一字节数据产生一次中断,然后再读取某个寄存器就可以得到串口接收的数据了。然而在实际应用当中,基本上不会有单字节接收的情况。一般都是基于一定串口通信协议的多字节通信。在422或者485通信中,还可能是一个主机(一般是计算机)带多个从机(相应的有单片机的板卡... 阅读全文
posted @ 2013-01-23 20:36 scdyxcc 阅读(11318) 评论(0) 推荐(0) 编辑
摘要: 平台:stc12le5a60+W25X16+keilW25X16.HW25X.H 1 #ifndef _W25X_H_ 2 #define _W25X_H_ 3 4 #include <REG52.H> 5 6 #define uint8 unsigned char 7 #define uint16 unsigned int 8 #define uchar unsigned char 9 #define uint unsigned int10 #define uint32 unsigned long11 12 sbit ... 阅读全文
posted @ 2013-01-21 22:14 scdyxcc 阅读(4057) 评论(0) 推荐(1) 编辑