文号
t79433
阅读
13851
回复
14
收藏
7
串口缓存函数
2016/03/31
IP:美国
参考了Novakon的算法改了一下队列式缓存。短了很多。

//单纯的算法研究
//小的语法错误请无视
//关于串口接收缓存的研究
#define Max 5
/*****************************************************/
u8 buff[Max];
u8* Out;
void SerialManage_ListModel(){//队列式缓存
    u8 BuffIn;
    int i;
    BuffIn=SerialRead();
    buff[0]=BuffIn;
    for(i==Max-2;i<=0;i++){         buff[i]="buff[i+1];"     } } ***************************************************** 环形缓存 u8* read; write; u8 buff[max]; bool empty; void serialmanage_ringmodel_init(){     read="&buff[0];"     write="&buff[0];" serialmanage_ringmodel_write(){     *write="SerialRead();"     if(write="=&buff[Max-1]){"         ringmanage();         write="&buff[0];"         }         else{         write++; serialmanage_ringmodel_read(){     u8 buff;     buff="*Read;"     if(read="=&buff[Max-1]){"         read="&buff[0];"         read++;         return ringmanage_write(){         if(read="=&buff[Max-1]){"             read++;     < code></=0;i++){>
[ 修改于10年8个月前 - 2016/03/31 12:51:27 ]
qazwqsx作者
10年8个月前IP:美国
814325
2楼
很厉害,学习了
引用
评论
qazwqsx作者
10年8个月前IP:美国
814331
4楼
//单纯的算法研究
//小的语法错误请无视
//关于串口接收缓存的研究
#define Max 5
/*****************************************************/
u8 buff[Max];
u8* Out;
int Timer;
void SerialManage_ListModel_Init(){
    Timer=0;
    Out=&buff[Timer];
}
void SerialManage_ListModel_Read(){//队列式缓存
    u8 BuffIn;
    int i;
    BuffIn=SerialRead();
    buff[0]=BuffIn;
    Timer++;
    for(i==Max-2;i<=0;i++){         buff[i]="buff[i+1];"     }     out="&buff[Timer];" } ***************************************************** 环形缓存 u8* read; write; u8 buff[max]; bool empty; void serialmanage_ringmodel_init(){     read="&buff[0];"     write="&buff[0];" serialmanage_ringmodel_write(){     *write="SerialRead();"     if(write="=&buff[Max-1]){"         ringmanage();         write="&buff[0];"         }         else{         write++; serialmanage_ringmodel_read(){     u8 buff;     buff="*Read;"     if(read="=&buff[Max-1]){"         read="&buff[0];"         read++;         return ringmanage_write(){         if(read="=&buff[Max-1]){"             read++;     < code></=0;i++){>
改进版
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的