完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嘿,伙计们,我在用RFID钥匙设计认证控制系统。我用一个问题堆叠——RFID阅读器与UART相连,它导致了不间断的接收数据流。我决定用一个标志来解决这个问题,只有当正确的密钥尚未建立时,UARTGETCHAR才起作用,但是它只是用正确的密钥来工作。使用直达流是不好用的。我试图使标志在数组比较之后改变状态,但是它工作不正确,第一个比较是好的,但是当数组在数组中第二次形成之前,7个元素是空的空间,输出看起来像这样——授予访问权限!卡号:09008B316BD8时间用完了!访问被拒绝!卡号:时间用完了!访问被拒绝!卡号:时间用完了!访问被拒绝!卡号:时间用完了!
不管我检查的是什么,是真的还是假的,它都是相同的输出。 Cyrjj.Access 01.ZIP 480.7 K |
|
相关推荐
4个回答
|
|
您的计时器是免费运行的,并会产生一个中断,其中你重置一些变量。这会使你想要的程序流程无效。
一般来说:在中断处理程序中更改的每个全局变量(在函数之外声明的)必须具有“易失性”属性!!!!这将不会改变程序的行为,但是当编译器优化打开时它会!! MeSET(ARR,0,STRLEN(ARR));/ /方式避免该符号并在数组中存储正确的数据 为什么是数组而不是数组的大小,这在某些情况下可能出错。 增加ARR的大小以防止在传输不良的情况下重写变量(003′) 考虑将全局“IN”变量声明为本地静态,并注意永不溢出的缓冲区大小。 鲍勃 |
|
|
|
ncmza 发表于 2019-10-16 06:46 谢谢,但是我应该如何正确地使用定时器和中断处理程序函数。另一个问题是,可以用一个中断块来处理很少的中断处理程序功能吗? |
|
|
|
是否可以使用一个中断块来处理几个中断处理程序函数?
不需要。可以将所有处理程序的代码放入一个函数中,或者调用(一个或唯一)处理程序中的每个所需子函数。 在这种情况下,我应该如何正确使用计时器和中断处理程序函数? 想象一下你想要什么:从某一点上,你将允许一秒钟来传递你所有的信息。 因此,你必须停止计时,重新加载零(当你计数),并启动计时器。当传输完成时,您停止计时器。当计时器用完时,你也必须停止它,并设置一个全局的(不稳定的!)标志显示情况。 鲍勃 |
|
|
|
ncmza 发表于 2019-10-16 07:11 首先,我的目标是在密钥被接受或拒绝后启动计时器,计数为5秒,关闭门(改变接受标志相反),这意味着现在有可能收集新数据到我们的数组,并再次检查它。我的问题是在比较密钥之后设置数据接收的限制。如果找到正确的键,我就知道怎么做了。比较)与IF(!)接受)。 |
|
|
|
只有小组成员才能发言,加入小组>>
752个成员聚集在这个小组
加入小组2086 浏览 1 评论
1837 浏览 1 评论
3652 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1777 浏览 6 评论
1526 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
533浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
388浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
422浏览 2评论
368浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
882浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-5 09:47 , Processed in 0.930404 second(s), Total 82, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号