- 博客(27)
- 收藏
- 关注
原创 Pytorch 下载失败原因
在官网看到,它需要python3.8-3.11的环境。过高和过低的版本都不行。重新下载python合适的版本就解决了。
2024-03-31 02:48:39 786
原创 独立看门狗和窗口看门狗
1. 独立看门狗:- 用于监视整个系统的运行状态。- 当系统出现故障或停滞时,独立看门狗会触发并重新启动系统,以避免系统永久停止或陷入无限循环。- 独立看门狗通常是一个独立的硬件模块,其操作不受主处理器的控制,因此即使主处理器出现故障,独立看门狗仍然能够触发系统的重启。2. 窗口看门狗:- 也称为软件看门狗(Software watchdog)。- 与独立看门狗不同,窗口看门狗通常是通过软件实现的一种监控机制。
2024-03-30 23:45:44 1005
原创 GitHub文件克隆到本地(GitHub desktop快速上手版)
在github网页上找到你要clone的仓库,点击【code】中选择如下面url复制。
2024-03-30 22:31:42 1155
原创 独立看门狗
独立看门狗(Independent Watchdog,简称IWDG)是一种微控制器中常见的硬件保护机制。它的主要作用是使用独立看门狗的如果系统出现异常,程序无法喂狗,导致独立看门狗的计数器溢出,系统就会认为出现了故障,并执行相应的操作,例如重置系统。通常情况下,独立看门狗适用于那些对系统稳定性和可靠性要求比较高的场景,比如嵌入式系统、工业控制系统、汽车电子系统等。在这些场景下,即使程序出现异常,也需要保证系统能够自动恢复到正常工作状态,以避免因为故障导致系统长时间无法运行,带来不可预测的后果。
2024-03-27 21:41:51 1731
原创 PWM实现电机的正反转和调速以及TIM定时器
在这里,使用了TIM定时器,只能说像EXTI外部中断、TIM定时器这些是基础呀~之前忘了写time.c的总结。
2024-03-24 22:19:21 967
原创 红外遥控器的使用和详细解释
总之,EXTI 中断用于检测红外接收器输出状态的变化(连接到引脚 PA8),而 NVIC 用于配置和管理 EXTI 中断,以确保在中断发生时执行相应的 ISR (`EXTI9_5_IRQHandler()`)。- 在 `EXTI9_5_IRQHandler()` 中,会检查中断标志,确定是哪个外部中断触发了中断。在这个例子中,它处理了与 PA8 引脚 (红外接收器) 相关的中断。- `EXTI9_5_IRQHandler()` 函数是用于处理 EXTI 线 8 中断的中断服务程序 (ISR)。
2024-03-24 21:16:37 830 1
原创 串口printf输出、systick、time定时器、外部中断的关系以及超声波实现身高测量
而不是标准输出设备(比如屏幕)。这就是printf重定向。这段代码实现了 printf 的重定向。在嵌入式系统中,常常需要重定向 printf,以便。
2024-03-23 22:35:40 1698 1
原创 光敏传感器控制led灯的亮度
这样,在调用printf()函数时,输出的数据就会自动发送到USART1串口上。这通常需要在编译器或者工程设置中进行配置,以确保printf()函数正确地发送数据到串口。在这里使用了adc、pwm和串口。这里串口用的代码就是上几篇的usart.c和usart.h,没有改动。但在一些教程 ,好像需要串口通过重定向标准输出流(stdio.h库中的标准输出函数)到USART1串口。经过实验,这样就能实现。在这里,串口直接使用printf,就会输出光度值。怎么printf重定向?
2024-03-21 11:46:20 1947 1
原创 串口与中断的关系和使用--详细解释
在你描述的情况下,如果ESP8266没有连接好(可能是硬件连接问题或者初始化失败等原因),导致了在 `ESP8266_Init()` 函数中的初始化不成功,而且 `ESP8266_SendCmd()` 函数在检查连接状态时也一直返回失败,处理器在执行当前任务的同时,会检测到这个中断请求,然后跳转到预先设定好的中断服务函数(ISR),这个函数会处理串口接收到的数据。对于串口通信来说,如果串口数据接收的实时性很重要,你可能会将串口中断的优先级设置得比其他中断更高,以确保及时处理接收到的数据。
2024-03-21 11:01:47 3923 1
原创 按键中断、systick()函数和exti()函数的使用和区别
芯片外设(Peripheral)是指嵌入式系统中与主处理器核心(CPU)相连的辅助模块或硬件组件,它们扩展了芯片的功能,使其能够执行各种特定任务或处理外部事件。这些外设通常包括各种接口、控制器、传感器、存储设备等,用于连接外部设备或执行特定的功能。芯片外设的功能包括但不限于以下几个方面:1. **通信接口:** 包括串行通信接口(如UART、SPI、I2C)、以太网接口、USB接口等,用于与外部设备进行数据交换和通信。2. **定时器和计数器。
2024-03-19 10:30:36 1004
原创 串口实现开关灯及详细注释
这个函数在清空数组或内存块的内容时很常见,例如在你的代码中,在接收完整的数据后,使用 `memset(buffer, 0, sizeof(buffer))` 来清空 `buffer` 数组,以便存储下一次接收到的数据。- 如果接收到结束标志,则将数据从 `buffer[]` 复制到 `rx_buffer[]` 中,清空 `buffer[]`,并设置 `rx_flag` 为1表示接收完成。- 清空 `rx_buffer[]`,将 `rx_flag` 置为0,以准备接收下一次数据。
2024-03-09 13:05:13 899 2
原创 按键库函数开发
@param GPIOx: 选择用于 STM32F405xx/407xx 和 STM32F415xx/417xx 设备的 GPIO 外设的字母 (A..K)。* @param GPIOx: 选择用于 STM32F405xx/407xx 和 STM32F415xx/417xx 设备的 GPIO 外设的字母 (A..K)。* @param GPIOx: 选择用于 STM32F405xx/407xx 和 STM32F415xx/417xx 设备的 GPIO 外设的字母 (A..K)。
2024-03-03 22:54:38 949
原创 STM32f407库函数实现流水灯及详细解释
再右击GOTO进去GPIO_TypeDef。peripheral--外围的。parameter--参数。register--寄存器。configure--装配。右击击GO TO进去。toggle--切换。
2024-03-03 21:35:38 911
原创 github面向初学者
1. Pull(拉取):- 想象您和朋友在一起写一篇文章。当您完成您的部分后,您的朋友想要添加他们的想法或编辑您的内容。在 GitHub 中,"pull" 意味着请求将您的更改合并到主仓库中。- 您可以通过 "pull request" 向主仓库的所有者发出请求,要求他们查看并接受您的更改。这是一种协作的方式,使得多个人可以在同一个项目上合作,每个人都可以向项目贡献自己的工作。2. Fork(衍生):- 想象您看到一篇很棒的文章,但您想在上面做一些修改,或者添加一些自己的内容。
2024-01-27 02:37:02 643
原创 自学stm32第六天
串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface)是指数据一位一位地顺序传送。其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。
2024-01-24 23:56:15 968 1
原创 自学stm32第五天
脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。
2024-01-24 23:36:53 956 1
原创 自学stm32第三天
先复习: 具体代码怎么写?需要阅读相关原理图、文档和手册。一、理解LED电路原理 LED0连接在PF9引脚 当PF9输出高电平(1),灯灭 当PF9输出低电平(0),灯亮 小结论: 如果引脚电平由程序员来改,则为输出 如果引脚电平由外部电路来改变,则为输入 //打开F组时钟//为什么是F组?因为LED0连接在PF9引脚 RCC_AHB1ENR |= (1<<5); //设置PF9
2024-01-22 15:41:58 394
原创 自学stm32第一天
中央处理器(CPU,central processing unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。CPU 自产生以来,在逻辑结构、运行效率以及功能外延上取得了巨大发展。
2024-01-18 21:33:05 941 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人