头像-330650

KVIN

  • 广东省广州市
  • 单片机
  • 消费电子 工控电子

个人成就

获得 8 次赞

帮助过618人

怎么用单片机实现小电流驱动大电流?

如果你的大电流只是相对稍微大一点,可以直接使用单片机驱动三极管或电流稍小点的MOS管,如果电流再大些,就用单片机给驱动芯片信号,由驱动芯片输出驱动能力稍强的驱动信号控制MOS或者IGBT控制大电流

如何把定时器映射到一个普通的IO口

在定时器中断中翻转IO,以此来模拟PWM输出,这样CPU占用率较高

算法是什么,为什么只在DSP上验证,单片机不行么?

多谢,一家之言,能有点帮助就好

C语言难点在哪里,哪些位置要重点学习?

当然是指针更难,只是单单说指针更难,略显空洞。应该结合C语言的应用场景,C语言基本都是在嵌入式之内用到,(这里把单片机也划归到嵌入式的领域),嵌入式的一个特点就是资源有限,没有那么大的内存以及存储空间给你用,单片机则更加拮据,在RAM只有几k,flash也就几十k的情况下,我甚至都想越过寄存器来直接操作地址,因为资源实在是太少了,除此之外,在一些工控领域或其他领域,实时性也是一个很需要考虑的因素,在一个强实时性系统中,我需要在几十us的时间内计算大量的算法,这时候怎么办,math库想都不要想,一个float都不能用,这时候除了计算方式的优化(一般使用定点运算Q格式),另一方面就可以用指针操作来加快程序运行速度,实践证明,运用指针是可以加快运行速度的。当然C语言也没有那么多保护机制,也正是因为如此,指针运用在千变万化的同时又很考验编程者对于指针是否熟悉,稍有不慎便会出现意想不到的问题。除此之外,结构体也是常用的,因为在C语言中,只有结构体是跟面向对象有点关系的东西,程序中用结构体,说明编程者就已经有了初步的对象的思维来管理程序,如果有兴趣看看别人写的库,包括ST写的STM32的库,以及一些开源的RTOS系统源码,都是非常好的,结构体与指针运用的模范程序,看这些C语言大佬是如何编写大型的C语言库的。结构体,指针,结构体指针,函数指针,指针函数,这些在库中是非常常见的,学习编写大型程序,会让C水平上升一个档次。

程序重构如何更加严谨?

1.分清楚程序流程,也可以说是程序的状态,编写一个小型的状态机来管理这些流程,让流程切换更加清晰,比如从启动流程到正常运行流程,发生异常之后切换到异常流程,然后重新启动之类的2.分清楚程序前后台,哪些程序是不紧要的,哪些程序是实时性比较高,需要写在中断里的3.分清楚各段程序的时基,也就是说,某个函数,某段程序的时基是多少,多长时间执行一次4.分清楚中断优先级,哪些中断是优先级比较高的,哪些是优先级比较低的,如果中断嵌套会不会产生bug5.减小函数,文件中的耦合,方便移植,包括变量耦合等,比如一个变量在多个函数中被改变,那么就会有耦合6.函数,变量命名规范,这个就不再赘述

【参与即领IC币】说说你的求职奇遇记!

你是985吗?不是你是211吗?不是那你可以回去等通知了

C语言和C++根本差异在哪里?

就是面向过程与面向对象的区别。总体来说就是解决问题的思路不同,对于一个问题,面向过程的思路是把这个问题进行过程步骤的划分,第一步做什么,第二步做什么,所有步骤全部完成,这个问题就解决。而面向对象的思路就是把这个问题进行细分成各个小问题,分别来描述这个对象。网上有个人有个比较简单易懂的例子,面向过程就是炒饭,面向对象就是盖浇饭。客人要吃饭,说了要那些菜,按照面向过程的思维,就是把菜炒了,放盐,放佐料,然后放米饭,然后混合均匀,一盘炒饭出锅。按照面向对象的思维,把客人要吃的各种菜还有饭分别建立对象,把这些菜还有饭分别弄好,然后在一个盘子里,把这些东西分别摆好。