段式液晶驱动方法
摘要:段式液晶有3个参数:电压VCC、duty(=1/com、偏压。需要交流驱动:亮时压差(comx-segx)先为+VCC,一定时间后,变为-VCC;不亮时,压差为0,先是(com=seg=vcc),一定时间后(com=seg=0) https://www.sekorm.com/news/2882.ht
阅读全文
posted @
2018-03-30 17:26
杰瑞鼠
阅读(678)
推荐(0) 编辑
MODBUS移植的参考文章
摘要:http://www.modbus.org/specs.php https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32 http://www.360doc.com/content/14/0906/09/17350204_40738980
阅读全文
posted @
2017-12-25 10:26
杰瑞鼠
阅读(548)
推荐(0) 编辑
tera term 的一个命令解析脚本
摘要:;用虚拟串口虚拟2个串口,tera term使用串口2 ;设置串口2 波特率 115200,超时500ms;如果收到串口发来OK则回复SUCCESS;如果收到ERROR则回复faile;若超时则发送timeouts.connect " /c=2 /BAUD=115200" timeout = 0mt
阅读全文
posted @
2017-12-08 18:05
杰瑞鼠
阅读(5052)
推荐(0) 编辑
c库函数-字符串
摘要:一 strok:从字符串中按照分隔符提取所有字串 char s[] = "水发产品,47.6,不合格,mg/kg,17-05-21 15:04;"; char *delim = ",;"; //分隔符列表 char *p; printf("%s\n", strtok(s, delim)); whil
阅读全文
posted @
2017-11-07 09:11
杰瑞鼠
阅读(183)
推荐(0) 编辑
基于时间系统的状态机
摘要:1根据各任务的周期执行时间确定轮询间隔,注意(轮询时间间隔只能比任务执行时间稍长,但一定不能断) 2 用一个定时器,基准定时为各任务的最小公倍数;软件计数器累加从而触发各任务标志(对任务进行字节编码) 3主函数中分别操作:Toggle_Task();//设置各标志,这里可以是非时间触发的事件 sle
阅读全文
posted @
2017-04-27 16:25
杰瑞鼠
阅读(470)
推荐(0) 编辑
状态机编程-队列缓冲事件,事件可异步触发
摘要:/*根据http://www.cnblogs.com/autosar/archive/2012/06/22/2558604.html整理*/typedef int State; /*状态*/typedef int Condition;/*事件*/#define STATES (3 + 1) /*总共
阅读全文
posted @
2017-04-27 16:07
杰瑞鼠
阅读(1260)
推荐(0) 编辑
code与const void*指针
摘要:关于指针: 当定义int *p时,它也会在内存中给指针变量p分配一个内存单元,假设这个单元在内存的编址为0x1003;此时,0x1003中的值是不确定的,(因为我们没有给指针赋值),当编译器遇到了p=&a时,就会在0x1003单元中保存一个地址(变量a在内存中分配的地址) 空指针:不指向任何单元,仿
阅读全文
posted @
2017-04-05 16:32
杰瑞鼠
阅读(703)
推荐(0) 编辑
串口双机或多机通讯
摘要:双机或多机通讯中主从机的启动顺序存在时间差,如果处理不好,就会出现通讯时好时坏的情况。 若使用dma:dma使能应在串口dma 之前或者串口使能后先判断是否存在上溢错误,若是则通过读DR寄存器清除上溢。否则会出现因上溢导致的DMA死锁
阅读全文
posted @
2017-03-11 11:10
杰瑞鼠
阅读(339)
推荐(0) 编辑
STM32空闲中断
摘要:收发共存的思路没有经过验证!!! 空闲中断:既可以用来作为不定长接收数据帧的断帧判断/特别是DMA数据的接收,也可以用来指示中断发送的结束。 在需要发送的地方USART_ITConfig(UART5, USART_IT_IDLE, ENABLE); 在接收的中间USART_ITConfig(UART
阅读全文
posted @
2017-03-09 13:18
杰瑞鼠
阅读(855)
推荐(0) 编辑
串口通讯中垃圾数据的处理
摘要:在双机串口通讯中,开关机(串口开闭)期间发送方有时候会发一些无效的垃圾数据,同时因为有的协议解析只有接收到一定数量才能解析。这就会出现一个现象:如果开头的数据是错误的,又没有及时丢弃,后面正确的数据接着位置存储,最终造成解析失败。现象就是有时候数据交互正确,有时候错误(冷启动第一次出现错误的几率较大
阅读全文
posted @
2017-03-07 18:35
杰瑞鼠
阅读(905)
推荐(0) 编辑
关于通讯断帧策略
摘要:1 可以利用串口的空闲中断加收发中断: 1.1接收断帧判断:每接收一字节就使能空闲中断,进入空闲中断说明断帧了进行数据缓存,出中断时禁止空闲中断 1.2发送断帧判断:同样处理,不同的是空闲中断使能的位置在要发送内容的前面,这样就不用每发送一个字符就使能一次,出空闲中断同样要禁止该中断。 1.3如果在
阅读全文
posted @
2017-02-24 10:28
杰瑞鼠
阅读(546)
推荐(0) 编辑
GPIO的翻转操作方法
摘要:STM32在进行IO翻转操作的时候可以使用以下方法:以PE.5为例 GPIO_WriteBit(GPIOE,GPIO_Pin_5,(BitAction)(1-(GPIO_ReadOutputDataBit(GPIOE,GPIO_Pin_5))));GPIO_WriteBit(GPIOE, GPIO_
阅读全文
posted @
2017-01-22 16:32
杰瑞鼠
阅读(5771)
推荐(0) 编辑
RTC之初始化
摘要:RTC为了避免初始化一般有3中方法: 一给MCU的VBAT供电,利用MCU的后备寄存器保存已经设置过时间的标志值,RTC初始化时先查询寄存器值如果是已经设置过则不用初始化设置时间 二 当不给VBUAT供电(省电,比如利用外部始终芯片PCF8563/PCF2139)此时可以用两种方法: 2.1 可以利
阅读全文
posted @
2017-01-09 09:09
杰瑞鼠
阅读(525)
推荐(0) 编辑
超时处理
摘要:一 函数中等待标志的超时处理:flag一般是来自中断或其它线程的异步标志。 while((!Flag__Uart4_Rcved)&&(--timeout > 0)) { ; }或者 do { flag=read_flag(); timeout_counter++; }while((flag==0)&
阅读全文
posted @
2017-01-06 08:56
杰瑞鼠
阅读(140)
推荐(0) 编辑
编译时获得系统的日期和时间
摘要:嵌入式开发中的几个时间概念 __date__和__time__是C中内置的2个比较有用的宏,它可以返回程序编译的日期和时间。对版本控制时比较有用。本身是struct tm* 类型的,可以使用strftime()函数进行转换 printf("%s--%s",__TIME__,__DATE__); st
阅读全文
posted @
2016-12-19 22:54
杰瑞鼠
阅读(2803)
推荐(0) 编辑
关于串口的字符串输出和二进制数据流输出
摘要:串口输出的类型主要分为单字节 字符串和二进制数据流,它们的控制输出函数各不相同。 Windows系统里面,每行结尾是“ <回车><换 行>”,即“\r\n” #define CR 0x0d // 回车13='\r'#define LF 0x0a // 换行newline =10='\n'#defin
阅读全文
posted @
2016-12-16 09:27
杰瑞鼠
阅读(2493)
推荐(0) 编辑
STM32串口
摘要:状态寄存器USART_SR的复位值为0x00C0H:即 第七位发送寄存器空TXE=1和第六位发送完成TC=1寄存器为空, TC=1表明发送已完成.此时只要使能了发送空和发送完成中断就可进入中断ISR(所以如果手动发送或者开机状态为接收的要清除这TC标志(TXE不用因为不能通过写1清零))。因此建议的
阅读全文
posted @
2016-12-13 13:28
杰瑞鼠
阅读(196)
推荐(0) 编辑
STM8 EEPROM:
摘要:stm8的EEPROM的搽除是写0,FLASH_PRO与FLASH_DATA写的秘钥顺序相反 EEPROM读写前要解锁的。这个很简单,在技术文档里讲得很清楚。我用一个宏定义来代表EEPROM单元。#define EEPROM_BASE_ADDR 0x4000 #define ADDRESS(i) (
阅读全文
posted @
2016-08-29 11:57
杰瑞鼠
阅读(411)
推荐(0) 编辑
强制转换的一个问题
摘要:问题:如果一个函数的形参是unsigned char *p,而实参变量是一个unsigned long data,那么你会怎么传递参数呢? 方法1 :先定义一个联合体变量 typedef union {unsigned char a[4]; unsigned long b}mylong mylong
阅读全文
posted @
2016-07-29 09:35
杰瑞鼠
阅读(134)
推荐(0) 编辑