首页 > 其他分享 >STM32学习随笔 12.13

STM32学习随笔 12.13

时间:2023-12-13 11:33:07浏览次数:28  
标签:TIM2 10 10000 STM32 12.13 100 随笔 Speed 1000

慢摸摸的学习

之前跟着B站江协科技UP学51感觉没啥,学到STM32就感觉很吃力,又想钻研清楚,看到定时器TIM章节零零总总差不多耽搁快进一个月了

总结下近期学到的东西

学习掌握多元条件运算符,这样可以省略很多if()else()或者switch()case;语句

示例:

         i -= (i > 10000) ? 10000 : (i > 1000) ? 1000 : (i > 100) ? 100 : (i > 10) ? 10 : 1;
         i += (i < 10) ? 1 : (i < 100) ? 10 : (i < 1000) ? 100 : (i < 10000) ? 1000 : 10000;

        (Speed > 0) ?  LED_On1(): (Speed < 0) ? LED_On2() :LED_Off();
        (Speed > 0) ? Angle-=Speed : (Speed < 0) ? Angle-=Speed :Angle;

学习掌握普通定时器TIM2/3/4

这里说到定时器再提一句提醒自己,先提前选择器件再确认使用定时器
为节约学习成本(主要是贪便宜QAQ)购买的STM32F103C6T6,习惯性的学习总结及糅合之前所学的东西做个联动,在学习编码器测速后就想着将舵机也添加进来

手转编码器的值变为控制舵机的角度,因为示例的课程已经使用了TIM2和TIM3,舵机之前的示例也是使用的TIM2,舵机和中断函数同时使用TIM2造成冲突,就想着怎么解决

然后就引入TIM4,后来在单片机上死活不动,卡壳了快进两天时间,才发现一个重要问题

C6T6没有TIM4

还好手头有合宙的CBT6,验证了使用TIM2/3/4的代码

当然使用C6T6也可以达到一样的实验效果,就是使用延时函数代替中断起到定时的作用,具体可以看下方链接工程源码

https://www.alipan.com/s/q275fBaHvU7

测试的视频链接

 

标签:TIM2,10,10000,STM32,12.13,100,随笔,Speed,1000
From: https://www.cnblogs.com/oldwang2023/p/17898713.html

相关文章

  • STM32学习笔记_外部中断EXTI
    中断:在主程序中运行过程中,出现了特定的中断触发条件,使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行。中断优先级:当有多个中断源同时申请中断时,CPU会根据中断源的轻重缓急进行裁决,优先响应更加紧急的中断源。中断嵌套:当一个中断程序正在......
  • 怎么用stm32 flash来实现数据掉电不丢失
    参考战舰的FLASH模拟EEPROM实验 比如,#defineFLASHADDR_START0x08006800写:u32Data=0x20161109;FLASH_Unlock();FLASH_ErasePage(FLASHADDR_START);FLASH_ProgramWord(FLASHADDR_START,Data);FLASH_Lock();读:u32Data;Data=*(u32*)FLASHADDR_START;   ......
  • stm32 cubeide调试问题汇总
    stm32cubeide调试问题汇总1.STM32CubeIDE无法进行调试报以下错误Targetisnotresponding,retrying...Targetisnotresponding,retrying...Targetisnotresponding,retrying...Targetisnotresponding,retrying...Targetisnotresponding,retrying.........
  • 2023年12月9日、10日每日随笔
    今天,主要进行了Jfinal框架的了解与编写,通过下午的简单了解,基本了解了Jfinal的运行逻辑,后在进行自己的编写,出现了报错,在解决报错的过程中,对于jfinal框架的的含义理解更加深刻,主要是作为一个后端框架,前端可以进行自己的发挥,于是结合了vue前端知识和jfianl后端搭建进行项目的完成......
  • Linux课程随笔(五)
    作为一名计算机专业的学生,深入学习Linux操作系统的进程管理是至关重要的一部分。在本篇博客中,我们将深入探讨Linux系统中进程的概念、创建、管理以及监控。通过对进程管理的学习,我们可以更好地理解操作系统的运行机制,提高系统管理和调优的技能。什么是进程?在计算机科学中,进程是......
  • Linux课程随笔(四)
    Linux操作系统以其稳定性和安全性而闻名,文件权限是Linux系统中重要的安全机制之一。本篇博客将介绍Linux文件的基本权限概念以及如何使用命令行进行文件权限的管理。文件权限概述在Linux中,每个文件都有一组权限,用于定义文件的访问规则。这组权限分为三个部分:用户(Owner)、群组(Grou......
  • Linux课程随笔(三)
    在Linux系统中,用户管理是系统管理员和普通用户都需要了解和掌握的重要主题。本篇学习博文将介绍一些基本的Linux用户管理命令,帮助你有效地管理用户账户,确保系统的安全性和稳定性。用户账户基础在Linux系统中,每个用户都有一个唯一的用户名(Username)和一个相关的用户ID(UID)。用户信......
  • Linux课程随笔(八)
    当你希望在Windows操作系统上进行Linux系统的学习或开发时,使用虚拟机是一个理想的选择。VMware是一款强大的虚拟机软件,它允许你在Windows中创建虚拟计算机,从而在其中安装和运行Linux系统。本文将指导你使用VMware在Windows中安装Linux,并提供一些基本的步骤和注意事项。在Windows......
  • Linux课程随笔(七)
    在Linux操作系统中,I/O(输入/输出)重定向和管道是强大的工具,它们允许用户有效地处理命令之间的输入和输出流。本篇博客将深入探讨Linux中的I/O重定向和管道的概念,以及如何利用它们来提高命令行的灵活性和效率。I/O重定向什么是I/O重定向?I/O重定向是一种将命令的输入和输出流导向......
  • Linux课程随笔(六)
    作为一名计算机专业的学生,深入了解操作系统是必不可少的一部分。在众多操作系统中,Linux因其开放源代码、稳定性和灵活性而备受欢迎。本文将聚焦于Linux的存储管理,深入探讨文件系统、磁盘管理以及存储优化等方面的知识。文件系统1.文件系统概述在Linux中,文件系统是组织和存储数......