当前位置: 首页 > news >正文

蓝桥杯错误记录

今天在做 小蜜蜂的综合案例的时候,数码管显示,有重影。

#include <STC15F2K60S2.H>
unsigned char num;
unsigned char code Duan[22]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x80,
0xc6,0xc0,0x86,0x8e,0xbf,0x7f,0XC1,0X8C,0XC8,0xc3};
void shumadong();
void suocun(unsigned char n)
{switch(n){case 4:P2 = (P2 & 0x1f)|0x80;break;case 5:P2 = (P2 & 0x1f)|0xa0;break;case 6:P2 = (P2 & 0x1f)|0xc0;break;case 7:P2 = (P2 & 0x1f)|0xe0;break;}
}void shuma(unsigned char wei ,unsigned char shu)
{suocun(6);P0=0x01<<wei;suocun(7);P0=Duan[shu];
}
void Delay(unsigned int t)
{
while(t--);
}
void Delay_shuma(unsigned int t)
{while(t--){shumadong();}
}
void shumadong()
{shuma(0,1);Delay(500);shuma(2,num);Delay(500);}void main()
{while(1){shumadong();num+=1;if(num>9){num=0;}Delay_shuma(100);}
}

原因是:在动态显示的函数里的延迟函数,我用了第二个在等待的时候扫描的延时。

这里的应该是消影,而第二个延迟函数在主函数里,加完num后,将他刷新。

void Delay(unsigned int t)
{
while(t--);
}
void Delay_shuma(unsigned int t)
{while(t--){shumadong();}
}
void shumadong()
{shuma(0,1);Delay(500);shuma(2,num);Delay(500);}


 


在建立串口模块时,发生了,乱码行为。

void init_chuan()
{TMOD = 0x20;AUXR = 0x00;SCON = 0x50;TH1 = 0xfd;TL1 = 0xfd;TR1=1;ES=1;EA=1;
}
void chuankou() interrupt 4
{if(RI==1){data1=SBUF;RI=0;}
}
void working()
{if(data1 & 0xa0==0xa0){if(data1 & 0x01 ==0x01){L1=~L1;}}
}
void send(unsigned char dat)
{SBUF = dat;while(TI==0);TI=0;
}
void jv(unsigned char *p)
{while(*p !='\0'){send(*p++);}
}
void main()
{//suocun(4);//ding_Init();init_chuan();jv("we\r\n");while(1){//shumadong();//jvzhen();}
}

最终原因是,我把串口的工作函数放在了中断里,如果放在中断里面,会一直判断。我又没发什么,所以会这样。



在建立串口模块时,我要发送0xa1来发送指令。

但是我每次发送以后,L1只亮,不灭。我设置的是L1=~L1。

找到原因是我在收到信息以后,没有将data1清零。

void working()
{if(data1 & 0xa0==0xa0){if(data1 & 0x01 ==0x01){L1=~L1;send(data1);data1=0x00;}}
}

http://www.lryc.cn/news/312909.html

相关文章:

  • Spring-静态代理VS动态代理/实现代理ProxyFactory
  • 单片机精进之路-9ds18b20温度传感器
  • 支部管理系统微信小程序(管理端+用户端)flask+vue+mysql+微信小程序
  • 4、Linux-常用命令(二)
  • golang实现openssl自签名双向认证
  • 【学习】torchvision.datasets.ImageFolder()
  • pyinstaller打包的exe运行报错 No module named path
  • Vue3中Vuex状态管理库学习笔记
  • React富文本编辑器开发(二)
  • nginx代理minio客户端
  • 将ppt里的视频导出来
  • Spring Boot 3核心技术与最佳实践
  • redis缓存更新策略
  • 【操作系统学习笔记】文件管理1.4
  • 快递包装展|2024上海国际电商物流包装产业展览会
  • vue页面刷新问题:返回之前打开的页面,走了create方法(解决)
  • IJCAI23 - Continual Learning Tutorial
  • 【YOLO v5 v7 v8 v9小目标改进】HTA:自注意力 + 通道注意力 + 重叠交叉注意力,提高细节识别、颜色表达、边缘清晰度
  • 外包干了10天,技术退步明显。。。。。
  • 如何在Win系统本地部署Jupyter Notbook交互笔记并结合内网穿透实现公网远程使用
  • 【自动化测试】之PO模式介绍及案例
  • 3D-Genome | Hi-C互作矩阵归一化指南
  • 【设计者模式】单例模式
  • Windows7缺失api-ms-win-crt-runtime-l1-1-0.dll的解决方法
  • coqui-ai/TTS 安装使用
  • Spring AOP相关注解及执行顺序
  • C++从零开始的打怪升级之路(day44)
  • [C++核心编程](七):类和对象——运算符重载*
  • 什么是MVC和MVVM
  • 物体检测-系列教程23:YOLOV5 源码解析13 (SPP层、Flatten模块、Concat模块、Classify模块)