- 博客(9)
- 收藏
- 关注
原创 02 使用51单片机实现串口通信过程实现
在以上代码中,通过函数`initUART()`初始化串口,并设置波特率为9600、数据位为8位、停止位为1位。在接收数据时,通过中断处理函数`receiveChar()`读取接收数据寄存器中的数据,并进行处理。4. 接收数据:当有数据传入串口时,数据会被存储在接收缓冲区中。通过读取接收数据寄存器中的数据,可以将数据从接收缓冲区中读取出来。在51单片机中,串口通信可以通过串口发送和接收数据实现与外部设备的通信。3. 发送数据:将需要发送的数据存储到发送缓冲区中,并使其在串口的发送数据寄存器中逐个发送出去。
2023-11-08 14:35:10 384 1
原创 stm32单片机HardFault错误的解决办法
5.检查调试工具和环境:如果调试工具或者环境出现问题,也有可能导致硬件故障,因此应该检查调试工具和环境,确保它们能够正常工作。3.检查外设连接:外部外设连接错误或者硬件损坏也可能引起硬件故障,因此应该检查外设连接,确保连接正确并且硬件没有损坏。在进行开发的过程中,建议:格外注意数组的长度,进行函数传参的过程中,进行一定干的防护可以避免数组越界问题。2.检查电源稳定性:如果电源不稳定或者电源质量差,也会导致硬件故障,因此应该检查电源质量和稳定性。、指针错误、栈溢出等问题,这些问题可能会导致硬件故障。
2023-09-04 17:13:32 902 3
原创 51单片机使用定时器0中断实现数码管1-9999数据显示
以下是基于Keil开发环境写的C代码,实现了C51单片机对数码管进行1-9999的变化功能。代码中使用了定时器中断来控制计数,并且使用了数组来存储数码管对应的数码值。在该代码中,P2^2、P2^1、P2^0 分别对应锁存、时钟和数据信号。CODE digit[] 数组中存储了数码管的编码值,cnt 变量存储了需要显示的计数器值。在主函数中,首先设置了定时器0的工作模式和初值,然后开启总中断并启动定时器0。总体来说,该代码实现了简单的计数器功能,并且可以通过移动数码管实现1-9999的变化。
2023-09-04 17:05:04 1602
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人