RTT-信号量随笔

信号量有点类似全局变量标志,但是应用有差别。 struct rt_semaphore sem_test; 初始化一个静态信号量 if(rt_sem_init(&sem_test,"test",0,RT_IPC_FLAG_F...

2019-08-14 08:58:25

阅读数 12

评论数 0

EEPROM数据存入与读取

各种类型的数据存储在EEPROM的时候注意事项: 利用AT24C04存储与读取各个类型的数据操作 一种方法是直接存储 一种方法是间接存储

2019-04-07 00:01:09

阅读数 438

评论数 0

位操作与直接赋值的易错点

//串口引脚切换 //参数说明 port :串口号 ConfigPin :引脚指定 void UartChangePin(u8 port,u8 ConfigPin) { if(0==port) { /* // P_SW1 = 0x00; ...

2019-03-26 16:41:27

阅读数 45

评论数 0

中断不可重入的函数

2019-03-19 17:34:27

阅读数 71

评论数 0

N个NOP怎么写程序

/* 宏定义0~9个nop */ #define NOP0 #define NOP1 NOP0; nop #define NOP2 NOP1; nop #define NOP3 NOP2; nop ... #define NOP9 NOP8; nop /* 宏定义10、20、30...9...

2019-03-19 15:19:15

阅读数 127

评论数 0

状态机编程

有限状态机的工作原理:发生事件(event)后,根据当前状态(cur_state),决定执行的动作(action),并设置下一个状态号(nxt_state)。 状态机可以用两种方法实现:竖着写(在状态中判断事件)和横着写(在事件中判断状态)。这两种实现在本质上是完全等效的...

2019-03-19 13:29:34

阅读数 170

评论数 0

AT24C02软件设计与应用

单片机操作AT24C02的通讯过程也就是IIC的通讯过程, IIC通讯过程是一个要求一气呵成的通讯过程,中间不能被其它中断影响时序出错,因此在整个通讯过程中应该先关闭总中断,完成之后再开中断。 在写入或者读取完一个字节之后,一定要加上一段延时时间。在连续写入或者读取一串数据时容易丢失数据。如果一...

2019-03-19 13:19:20

阅读数 199

评论数 0

数据存储大端小端模式的理解

Big-Endian和Little-Endian的定义如下: 1) Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。 2) Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。 举一个例子,比如数字0x12 34 56...

2019-03-19 13:17:34

阅读数 22

评论数 0

理解重入与不重入函数

转:https://www.cnblogs.com/AlwaysOnLines/p/3912680.html 可重入函数 在 实时系统的设计中,经常会出现多个任务调用同一个函数的情况。如果这个函数不幸被设计成为不可重入的函数的话,那么不同任务调用这个函数时可能修改其他任 务调用这个函数的数...

2019-03-15 10:39:41

阅读数 24

评论数 0

瑞萨单片机

1.入门 https://blog.csdn.net/yjydyod/article/details/80018972 版权声明:本文为博主原创文章,转载请声明 本文作者为yjydyod,转载自:https://blog.csdn.net/yjydyod 2.论坛 http://bbs....

2019-03-15 09:07:52

阅读数 301

评论数 0

STC8A 采集外部P1.2电压串口输出(0-5V)

1.直接来上参考代码 #include "STC8Axx.h" u16 xdata adc0; u8 xdata Adc0Finish; u16 xdata AdcBuff[10]; u8 xdata AdcTimes; void ad...

2019-03-08 21:19:46

阅读数 133

评论数 1

延时操作之宏定义与函数调用的差别

#define NOP(N) NOP##N() void delayNnop(u16 m) { u16 i; for(i=0;i<m;i++) { _nop_(); } } 带参数的宏使用与通过函数调用是有差别的。 特别延时较短的时候,宏定义...

2019-03-07 18:52:28

阅读数 72

评论数 0

单片机串口超时接收机制

在使用单片机的时候串口是与外界通讯最常用的一种方法 在处理接收的时候超时处理是一种常见的方法。 参考代码如下: //串口0 中断函数 void UART0_Isr() interrupt 4 using 1 { if (TI) { busy0 = 0; TI =...

2019-03-06 14:25:17

阅读数 629

评论数 0

STC8A 验证Xmodem通讯协议

1.将keil的生成的"xxx.hex"程序文件通过应用程序 hex2bin转化为bin格式文件。 2. 阅读Xmodem协议理解通讯流程 发送端(PC端) 接收端(单片机端) <&...

2019-02-28 14:35:57

阅读数 29

评论数 0

查询法实现单片机通讯

单片机发送的时候查询发送标志位,注意开启中断的情况 参考C代码: void UartChangePin(u8 port,u8 ConfigPin) { if(0==port) { /* // P_SW1 = 0x00; ...

2019-02-28 14:22:17

阅读数 82

评论数 0

单片机输出把整型输出字符

void    Tx_DEC_U16(u16 j) {     u8    i;     u8    tmp[10];     for(i=4; i<5; i--)         {         tmp[i] = j % 10 + '0';         j = j...

2019-02-27 17:40:51

阅读数 99

评论数 0

对单片机寄存器的位值1与置0的一种常见写法

void    SetTimer2Baudraye(u16 dat) {     AUXR &= ~(1<<4);    //Timer stop                    //置0     AUXR &am...

2019-02-27 13:06:04

阅读数 360

评论数 0

stm32程序学习过程问题记录

 1.   printf(" %s [%s] (%s)\r\n", NAME, VERSION, DATE); 怎么理解stm32这个函数    2.

2019-02-25 14:34:59

阅读数 21

评论数 0

系统滴答定时器

系统结构 工作过程 编程思考 注意要点

2019-02-25 09:12:10

阅读数 16

评论数 0

串口超时退出代码段

void UART1_RxPackage(void) { u16 j; //5ms³¬Ê± //RI = 0; RxCnt = 0; for(j = 0; j < 2000; j++) //5ms³¬Ê±Í˳ö { if(RI) ...

2019-02-22 17:29:45

阅读数 115

评论数 0

提示
确定要删除当前文章?
取消 删除