- 博客(16)
- 资源 (10)
- 收藏
- 关注
原创 手把手教你学CAN总线学习流水账-(SJA1000+STC89C52)vs STC32G12k128-2024年3月16日
【basicCAN就是CAN2.0A,只有11位ID , PeliCAN就是CAN2.0B有11位ID--标准帧或29位ID--扩展帧】 ---所以,两个模式下,地址的分配是不一样的。根据一个月前设定的想法,SJA1000知道点皮毛后,工作之余去学了下STC32G12k128。---说起周立功网站关于SJA1000那些资料,还是要感叹下,很可惜,官网里是找不到了。还有一些是开发板配套的。分配好寄存器,接下来,就是各种寄存器的配置,比较起来看的话,嗯,期间,我也去看了其他单片机的写法,差不多都是这样的思路。
2024-03-16 21:15:08 632
原创 手把手教你学CAN总线学习流水账-SJA1000+STC89C52(八)(2024年2月21日)
后来经过翻找网络后,发现有流传一个 SJA1000_PELI库文件,经过对SJA1000REG.H 文件的对比,发现就是书上的提到的配置文件。兴致匆匆的提鼠标CV下来,编译,嗯,嗯,不行。前面看了几本书看到两点通信以后,接下来的几个章节,是类似温度数据CAN传输一类,跟实际工作中,想要完成的目标不太一致,所以,回头再去看了经典的基础教材<<项目驱动CAN-bus现场总线基础教程>>。前几年,第一次看的时候,一头雾水,似懂非懂,这次经过其他基础教材的打磨后再看,感觉对书里第三章的内容,更好理解了。
2024-02-21 16:31:58 453
原创 手把手教你学CAN总线学习流水账-SJA1000+STC89C52(七)(2024年2月13日)
节点2,根据接收到的CAN的报文内容里,根据约定的数据字节位,进行相应的控制。简单的两点式:节点1 可以发给节点2,让节点2接收;节点2也可以发给节点1,让节点1接收;上面是两个节点,两个代码的的简单回顾,跟两个节点一个代码有点不一样。简言之: 节点1的按键动作(这里简单设为按键次数),通过CAN发给节点2;一开始没想明白,后来,去查了下ASICII码,确定猜想没错。前几天解决显示问题后,接下来的CAN总线之旅就简单多了。回顾了两个节点后,那么主从式的也就更好理解了。其他地方的修改嘛:跟上篇讲的差不多。
2024-02-14 16:05:22 427
原创 手把手教你学CAN总线学习流水账-SJA1000+STC89C52(六)(2024年2月10日)
当然,学生党最好请教身边的同学老师啊,在自己的冥思苦想以后,再请教一下他人,还是必要的。话说上次发现凸显的问题后,根据2种猜测,在某个愣神的瞬间,突然脑海里,想到一种可能。又回头去看了下那个源程序,再次去试着理解下原先的编程思路,顺着注解,注意到。然后,真的,放到定时中断里后,原先一直困扰的显示收发差一的问题结局了!再结合,两点通讯,A每次都按键后,才会显示对方B按了多少次来看,由于这句话是放在按键服务程序里,也就是每次按键后,显示才更新。所以啊,遇到实在想不明白的地方,又不影响大进度,先放放呗。
2024-02-10 17:34:52 395
原创 手把手教你学CAN总线学习流水账-SJA1000+STC89C52(五)(2024年2月8日)
B点的发数码管显示1;一种错觉:两点通讯CAN通讯,AB数码管显示的计数,好像必须按键后,才更新显示收发的数字?B点的发数码管显示0;B点的发数码管显示1;按一下,发显示1,收显示0;再按一下,发显示2,收显示1;当时一直没想明白为啥。B点的发数码管显示0;再回去按下A点:A点的发数码管显示 3;(2+1) 收数码管显示1;另一种错觉:A累计按键发送次数,等B按键后,才发送给B显示?A点再按1下,A点的发数码管显示 2;我B点按一下,A点的发数码管显示 2;A点按1下,A点的发数码管显示 1;
2024-02-08 22:06:57 379
原创 手把手教你学CAN总线学习流水账-SJA1000+STC89C52(四)(2024年2月6日)
1- 我原本思路是从 ”自收发“ 转成 ”两点 通信“,自收发是已经调试通的(有点问题),稍微改了是可以做到转成”两点 通信“的。ACR 验收代码寄存器 与 AMR 验收屏蔽寄存器 以及 TX_buffer【1】~TX_buffer【4】"心想:怎么两个节点通信的程序: 可以两个源程序,每个节点各一个,也可以有1个源程序,每个节点通用"ACR0~ACR3 的设置无需与TX_buffer【1】~TX_buffer【4】 一一对应,如下。//发送数据函数里面,
2024-02-06 23:59:58 414
原创 手把手教你学CAN总线学习流水账-SJA1000+STC89C52(三)(2024年2月2日)
书上有个表格,没细究,原本想着,等调试通了,再看,可惜现在下载后,按键都不显示次数。手把手这本书是 ,分成 节点1 和 节点2 2个程序。开发板配的程序是,一个,也可以实现2个节点间的互传信息。这个,配置的ACR寄存器不一样,也不知道为啥要这样配置。到了2个节点的通信,对着抄,烧录后,竟然没反应。这个就是影响点不点灯,关系不大。前面数码管的疑惑暂时放下不表。然后相互对对比了3个程序。
2024-02-02 12:41:54 418
原创 手把手教你学CAN总线学习笔记-SJA1000+STC89C52(二)(2024年2月2日)
按一下后,发的数字还是0 ,收的数字就成了1.(原先是:按一下后,发的数字是1,收的数字也是1.)反正咋说呢,想了很久,没想明白,难道自收发的同步显示其实有问题?(1-期间,重新拜读了吴坚鸿大神的源码,并且使用了相关按键和数码管部分的源码)原来单片机开发板程序 显示的数字相同, 改了之后,显示收的数字比发大了1。本来是想着开发板+TJA1050模块,用杜邦线链接,先实现自收发。出现了一直很神奇的现象,不知道缘由,待高手路过指点一下。还是,移植的那个数码管程序,多了一个变量缘故?这是修改后的代码按了2次后。
2024-02-02 09:58:42 928
原创 【PIC16F914单片机】PWM输出
/bit 5-4 CCPxX:CCPxY:PWM 最低有效位(10位分辨率的低两位)//bit 3-0 CCPxM:CCP 模式选择位。//PWM 模式:这些位是 PWM 占空比的低 2 位。//这个需要你根据你自己相应的PWM来取值。//bit 7-6 未实现:读为 0,//高 8 位在 CCPRxL 中。//11xx = PWM 模式。//剩下四位,设置1100。工作需要,捣鼓两天,了解了下寄存器的配置,参考网上现有帖子,改了下配置。然后,最前面补0 ,0111 1111 11。
2023-12-05 16:45:29 592
原创 「 51单片机实践笔记—按键系列」2023年11月24日
/按键消抖,防止误操作,这个可以在主循环里面加消抖逻辑或者使用硬件去抖动。// if (棋标满足) 如果需要的话,加这个IF判断。// if (棋标满足) 如果需要的话,加这个IF判断。void key1_ISR() interrupt 0 //按键1中断服务程序,中断号是0。//添加需要在其他程序段引用的棋标;//添加需要在其他程序段引用的棋标;// 5次清零一次,重新累计。// 这里开启中断, 就是开启单片机对应的中断位设置,或者棋标什么的;//添加要实现的代码;//添加要实现的代码;
2023-11-24 15:07:28 398
原创 手把手教你学CAN总线学习笔记-SJA1000+STC89C52(2023年9月12日)
这本书,前面那些部分,是单片机基础,可以绕过;CAN总线的概念部分,和SJA1000寄存器介绍部分,可以当作参考资料,需要反复多次查询;重点是后面的程序实现部分,我是直接从 7.7CAN智能软件节点设计开始,按个理解。各位看官可以根据自己需求调整。—2023年9月12日。
2023-09-12 15:02:55 156
原创 学习记录---多个功能杂合在一起的STC15单片机程序
#include "STC15W0XX.H"typedef unsigned char BYTE;typedef unsigned int WORD;
2022-11-15 21:33:44 1465
原创 基于STC98C52RD+的51MCU学习流水账--->串口通讯学习(汇编版)
开篇语:1-收集-->整理-->消化-->分享,收集多年,开始迈出分享这步。2-从点灯-->到数码管-->撸到串口,目前卡在串口。无法实现基本串口通讯。为了便于后期解决问题后,能回头复盘过程,特此开始记录后期一切解决过程(自用的同时各位过客如可参考一二,甚是开心。如有不当之处亦可提出指正,不胜感激!)先上图问题:PC发送45H,串口助手接收到的确是 BAH(图中2个BA,是因为我按了两次“发送数据”)首先:对源代码进行注释(汇编) .
2022-01-28 20:36:27 2967
AVR单片机GCC.pdf
2024-03-17
CAN自收发和点对点通信的练习
2024-02-20
无线充电资料(XKT332+XKT415)
2020-11-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人