- 博客(49)
- 收藏
- 关注
原创 BKP库函数
/时钟输出功能的配置,可以选择在RTC引脚上输出时钟信号,输出RTC校准时钟,RTC闹钟脉冲或者秒脉冲。//设置RTC校准值,就是写入RTC校准寄存器。
2024-02-16 12:33:17
357
原创 参数是两个类的引用为什么在主函数调用重载后的输出运算符时可以直接只写入自定义的类
不需要显式传递`std::cout`或`std::ostream`对象,因为`operator<<`已经设计成可以接受这些类型的左操作数。当你重载输出运算符`operator<<`并定义它接受一个`ostream`引用和一个自定义类(比如你提到的`Complex`)的引用时,你实际上是扩展了`operator<<`的功能,使其能够处理你的自定义类型。`时,编译器看到你传递了一个`Complex`类型的对象`c`和一个`ostream`对象`cout`,它就会调用你重载的`operator<<`函数。
2024-02-04 10:24:06
336
原创 对多态的理解
在上面的例子中,我们使用基类指针`animal1`和`animal2`来指向不同的派生类对象(`Dog`和`Cat`),然后通过调用`makeSound()`函数来发出不同的声音。假设我们有一个基类`Animal`,它有一个虚函数`makeSound()`,用于让动物发出声音。然后我们有两个派生类`Dog`和`Cat`,它们分别重写了`makeSound()`函数,以实现不同的行为。这个例子展示了多态的作用,即通过统一的接口来处理不同类型的对象,提高了代码的灵活性和可扩展性。
2024-02-03 16:54:17
352
原创 江科大32笔记
工程建立添加工程必要文件 Libraries->CMSIS -> CM3-> DeviceSupport-> ST-> STM32F10x-> startup-> arm->是启动文件,复制到工程模板(新建Start),回到STM32F10x(复制那三个文件stmxxxh、systemxxx.c、systemxxx.h)复制到Start,打开CM3->CoreSupport(将两个文件复制到Start)回到Keil将文件添加到工程->点击Targe
2023-12-25 11:34:05
70
原创 BKP备份寄存器&RTC实时时钟
继续往右看,就是中断部分了,从图中看,有3个信号可以触发中断.第一个是RTC_SECOND,秒中断,来源是CNT的输入时钟,如果开启这个中断,那么程序每秒钟进一次RTC中断.第二个是RTC_Overflow,溢出中断,他的来源是CNT的右边,意思是CNT的32位计数器计满溢出了,会触发一次中断,所以这个中断一般不会触发,32位无符号数,在2106年才计满.第三个RTC_Alarm,闹钟中断,刚才说过,当计数器和闹钟值相等时,会触发中断,同时闹钟信号还可以把设备从待机模式唤醒。
2023-12-25 11:28:19
67
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人