自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 对于Systick 定时器延时原理,以及在中断服务程序中用hal_delay可能会引起的问题

特别注意,在中断中使用 HAL_Delay() 很容易造成程序异常,原因是 HAL_Delay() 使用 滴答定时器的中断,如果在高于滴答定时器中断的中断函数中使用这个函数,程序将会锁死在 HAL_delay() 中,原因是,滴答定时器无法别调用, HAL_delay() 就无法跳出函数内部的 while 循环。当SysTick定时器计数达到设定的值时,它会触发这个中断,从而执行其中的代码。的定时器,它使用系统时钟作为时基,并通过设置寄存器的值来确定定时周期, 当倒计时完成后,定时器可以产生一个中断.

2024-03-06 19:06:32 757

原创 51单片机

通俗来讲,单片机就是一块集成芯片(【转摘】芯片的本质是什么_本质 芯片到底是什么-CSDN博客这个链接可以更好的了解什么是芯片),但是这块集成芯片有它特有的功能,我们正是要通过编程来实现这样的功能,我们编程的目的就是控制这块芯片的各个引脚在不同时间输出不同的电平,进而来控制与单片机各个引脚相连的的外围电路的电器状态.

2023-11-13 15:04:21 52

原创 一个整形数组nums里除了两个数字之外,其他数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度是O(N),空间复杂度是O(1).

题目的要求是找到这两个数字,现在我们得出来的是这两个数异或后的结果,我们知道0和1的出现是看这两个数对应的位是否相同,可以看到异或后结果的第二(N)位为1,说明这两个数的对应的位是不同的.因此我们可以想是否可以利用这一个位来分离这个数组中只出现一次的两个数字,这显然是可行的.用这一个位对nums数组进行异或,结果为1的放在一个数组中,结果为0的放在另一个数组中.我们知道,两个相同的数字异或后为0,两个不同的数字异或一定是不为0的.例如nums里的元素为 1,1,2,2,3,4,4,5,6,6.

2023-09-18 00:07:19 209 1

原创 原码,反码,补码

我们知道byte的取值范围是-128-127,实际上除了-128,其余的数字都有相应的反码和补码。回到上面的问题,1000 0000如果转换成原码是0000 0000,这显然是有矛盾的,因为该原码表示0,那么它的原码,反码,补码都应该是相同的。由于一个字节(byte)只有8个bit位,也就是二进制位,因此-0的补码的最高位溢出了,会被计算机舍弃,所以就是0000 0000,即不存在正负零了。我们知道负数的原码不能直接进行运算,因此便引入了反码,反码进行运算后的结果再化为原码就可以了。

2023-09-08 23:08:53 342

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除