跳转到主要内容
Main-menu-for-MCU
首页
技术
新闻
下载中心
视频
博客
活动
登录
注册
MCU加油站
技术
MCU全功能按键接口
在单片机开发中,由于资源受限而没有平台的支持,每次开发都要重写很多代码,应用的千奇百怪的需求更是加剧了这种困难。解决问题的办法是,总结常见的需求,分析它,得出即高效有通用的解决方案。 今天我就来为大家提供一种按键的解决方案,它易用,高效,节省资源! 先给出这个按键模块解决方案的全部代码,稍后再来分析。 keyif.h内容:
2016-09-12 |
MCU
,
按键
,
接口
有效执行算法 Cortex-M4 MCU简化马达控制架构
Cortex-M4微控制器(MCU)将可加速马达控制设计。精准的马达控制须仰赖精密且复杂的算法才能达到,而Cortex-M4微控制器运算能力达100MHz,并具备DSP及硬件浮点运算单元,可有效执行马达控制所需的高阶计算,有助减轻开发负担。 透过内建Cortex-M4核心的微控制器(MCU),再搭配智能型连接的接口设备,将可轻松执行复杂的马达控制算法。本文将以永磁同步马达(PMSM)磁场定向控制...
阅读详情
2016-09-12 |
Cortex-M4
教你如何调试新电路板?!
对于一个新设计的电路板,调试起来往往会遇到一些困难,特别是当板比较大、元件比较多时,往往无从下手。但如果掌握好一套合理的调试方法,调试起来将会事半功倍。对于刚拿回来的新PCB板,我们首先要大概观察一下,板上是否存在问题,例如是否有明显的裂痕,有无短路、开路等现象。如果有必要的话,可以检查一下电源跟地线之间的电阻是否足够大。 然后就是安装元件了。相互独立的模块,如果您没有把握保证它们工作正常时,...
阅读详情
2016-09-12 |
调试
,
电路板
,
Debug工具
编译器的工作过程
作者:阮一峰 源码要运行,必须先转成二进制的机器码。这是编译器的任务。 比如,下面这段源码(假定文件名叫做test.c)。 #include int main(void){ fputs("Hello, world!\n", stdout); return 0;} 要先用编译器处理一下,才能运行。 $ gcc test.c $ ./a.out Hello, world! 对于复杂的项目,...
阅读详情
2016-09-12 |
编译器
C语言编程程序的内存如何布局 ?
一:C语言程序的存储区域 由C语言代码(文本文件)形成可执行程序(二进制文件),需要经过编译-汇编-连接三个阶段。编译过程把C语言文本文件生成汇编程序,汇编过程把汇编程序形成二进制机器代码,连接过程则将各个源文件生成的二进制机器代码文件组合成一个文件。 C语言编写的程序经过编译-连接后,将形成一个统一文件,它由几个部分组成。在程序运行时又会产生其他几个部分,各个部分代表了不同的存储区域...
阅读详情
2016-09-09 |
编程工具
ARM64的启动过程之(二):创建启动阶段的页表
作者:linuxer 一、前言 本文主要描述了ARM64启动过程中,如何建立初始化阶段页表的过程。我们知道,从bootloader到kernel的时候,MMU是off的(顺带的负作用是无法打开data cache),为了提高性能,加快初始化速度,我们必须某个阶段(越早越好)打开MMU和cache,而在此之前,我们必须要设定好页表。 在初始化阶段,我们mapping三段地址,一段是identity...
阅读详情
2016-09-09 |
ARM
程序员必知的十大基础实用算法及其讲解
1、快速排序算法 快速排序是由东尼•霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(innerloop)可以在大部分的架构上很有效率地被实现出来。 快速排序使用分治法(Divideandconquer)策略来把一个串行(list)...
阅读详情
2016-09-09 |
编程工具
如何形成一个良好的编程风格(二)
3、标识符 a、变量的命名 方法一:采用匈牙利命名法。命名规则的主要思想是“在变量中加入前缀以增进人们对程序的理解”。 例如平时声明32位整型变量Length对应使用匈牙利命名法为unLength。现在列出经常用到的变量类型。 变量类型 示例 char...
阅读详情
2016-09-09 |
编程工具
,
Keil相关
如何形成一个良好的编程风格(一)
编程的总则:编程首要是要考虑程序的可行性,然后是可读性、可移植性、健壮性以及可测试性。大多数程序员只是关注程序的可行性,而忽略了可读性,可移植性和健壮性,其实我个人认为,程序的可行性和健壮性与程序的可读性有很大的关系,能写出可读性很好的程序的程序员,他写的程序的可行性和健壮性必然不会差,也会有不错的可移植性。程序的可读性需要程序员有一个良好的编程风格。 好风格应该成为一种习惯。...
阅读详情
2016-09-08 |
编程工具
老外揭秘:原来黑客是这么破解MCU的
这篇文章是俄国人Sergei P.Skorobogatov就读英吉利剑桥大学之博士论文,讲解了各种MCU的攻防技术,堪称一部小百科全书。对于志在研究MCU防护的筒子,能给你很多参考思路:但对于想当黑客的人,我们对后果概不负责! C非侵入式攻击不需要对元器件进行初始化。攻击时可以把元器件放在测试电路中分析,也可单独连接元器件。一旦成功,这种攻击很容易普及,并且重新进行攻击不 需要很大的开销。另外,...
阅读详情
2016-09-08 |
MCU
对ARM异常(Exceptions)的理解
ARM支持7种异常。问题时发生了异常后ARM是如何响应的呢?下面一起来学习一下: 所有的系统引导程序前面中会有一段类似的代码,如下: 从中我们可以看出,ARM支持7种异常。问题时发生了异常后ARM是如何响应的呢?第一个复位异常很好理解,它放在0x0的位置,一上电就执行它,而且我们的程序总是从复位异常处理程序开始执行的,因此复位异常处理程序不需要返回。那么怎么会执行到后面几个异常处理函数呢...
阅读详情
2016-09-08 |
ARM
好文:细谈I2C和SPI总线协议
作者:ce123 IICvs SPI 现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Interface)的身影。原因是这两种通信协议非常适合近距离低速芯片间通信。Philips(for IIC)和Motorola(for SPI) 出于不同背景和市场需求制定了这两种标准通信协议。 IIC...
阅读详情
2016-09-08 |
I2C
,
SPI
使用Keil判断ARM的冷启动和热启动的方法
常把单片机系统的复位分为冷启动和热启动。所谓冷启动,也就是一般所说的上电复位,冷启动后片内外RAM的内容是随机的,通常是0x00或0xFF;单片机的热启动是通过外部电路给运行中的单片机的复位端一复位电平而实现的,也就是所说的按键复位或看门狗复位。复位后,RAM的内容都没有改变。在某些场合,必须区分出设备的重启是热重启还是冷重启。常用的方法是:确定某内存单位为标志位(如0x40003FF4~...
阅读详情
2016-09-07 |
Keil相关
,
ARM
ARM 7 用户模式下禁止/使能中断的一种方法--使用软中断 for Keil MDK
最近写一个程序,需要在用户模式下关中断,但ARM 7的体系结构决定了中断必须在特权模式下才可以更改,所以想到使用ARM的软中断来实现关中断和开中断。 使用软中断,首先要有硬件指令的支持,ARM有条指令是SWI。 SWI 指令的格式为: SWI {条件} 24 位的立即数 SWI 指令用于产生软件中断,以便用户程序能调用操作系统的系统例程。操作系统在 SWI 的异常处理程序中提供相应的系统服务,...
阅读详情
2016-09-07 |
Cortex-M3
,
Keil相关
一文通晓各种开关电源拓扑
各种事物都有套路,开关电源的套路就是各种拓扑。对这些拓扑了然于胸,就能看清开关电源的本质。 为了表征各种电压或电流波形的好坏,一般都是拿电压或电流的幅值、平均值、有效值、一次谐波等参量互相进行比较。在开关电源之中,电压或电流的幅值和平均值最直观,因此,我们用电压或电流的幅值与其平均值之比,称为脉动系数S;也有人用电压或电流的有效值与其平均值之比,称为波形系数K。 因此,电压和电流的脉动系数Sv、...
阅读详情
2016-09-07 |
电源
页面
第一页
前一页
…
234
235
236
…
下一页
末页
邮箱或用户名
*
密码
*
注册
忘记密码
请输入上面图片验证码
*
输入图片中的字符。
本土热门MCU
航顺芯片
兆易创新
国民技术
芯海科技
灵动微电子
小华半导体
爱普特微电子
热门话题
RISC-V
应用
IOT
无人机
智能工厂
智能家居
汽车电子
可穿戴产品
热门产品
STM32系列
RX系列
LPC系列
MSP430系列
PIC系列
PSoC系列
关键技术
Cortex-M3
Cortex-M4
Cortex-M0/M0+
算法
近期产品推荐
近期活动
微信公众号
©www.eetrend.com