技术

为智能硬件开发者、创客提供有关基于英特尔嵌入式处理器的应用技术介绍和合作伙伴方案介绍

耦合与退耦,上拉与下拉

耦合与退耦

什么是耦合电容?什么是去耦电路?

耦合指信号由第一级向第二级传递的过程,一般不加注明时往往是指交流耦合。

退耦是指对电源采取进一步的滤波措施,去除两级间信号通过电源互相干扰的影响。耦合常数是指耦合电容值与第二级输入阻抗值乘积对应的时间常数。

退耦有三个目的:

32位低功耗MCU的设计

作者: 新唐科技

1、前言

关于STM32空闲中断

在使用串口接受字符串时,可以使用空闲中断(IDLEIE置1,即可使能空闲中断),这样在接收完一个字符串,进入空闲状态时(IDLE置1)便会激发一个空闲中断。在中断处理函数,我们可以解析这个字符串。

需要注意的是,IDLE标志位需要软件清零,否则由于会不断进入中断,而使正常程序无法运行。当再次收到数据时(即RXNE再次置1),等到空闲便会重新进入中断。

x86和arm架构原子操作的区别

x86和arm在原子操作上有些差别,下面一代码的形式来说明区别:

首先比较单核:

由于x86是CISC指令集,允许在一条指令里进行两次内存操作,所以对i++,i__这些操作在单核条件下是原子,当然必须得是显示使用addl r,%1这种,就可在一条指令里完成读,写操作。

MCU上的无锁原子读操作

原子读操作是在MCU并发编程中常用的操作,简单举个例子来阐述问题:

我们使用RTOS或裸机状态编程时,必然需要一个全局时钟基准,通常是在一个定时器中断中累加实现,简化代码如下:

static unsigned long volatile __jiffies = 0; /* 全局时钟基准节拍累加器 */

IAR在STM32的配置方法

一、在IAR EWARM中建立工程的步骤:

1. 建立工程项目文件

新建一个文件夹来存放整个工程项目,在该项目文件夹下建立几个子文件夹存放不同类别的文件:
i. 将官方模板中的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h和空白main.c文件复制到该项目文件夹下;

Nandflash操作详解

1.nandflash就是嵌入式系统的硬盘

2.分类
(1)MLC:存储单元格存储两位,慢,偏移,寿命短,容量大
(2)SLC:存储一位。快,寿命长,容量小,昂贵

3.访问

STM32的存储器映射详解

存储器映射是指把芯片中或芯片外的FLASH,RAM,外设,BOOT,BLOCK等进行统一编址。即用地址来表示对象。
这个地址绝大多数是由厂家规定好的,用户只能用而不能改。用户只能在挂外部RAM或FLASH的情况下可进行自定义。

MM32 六步PWM输出

针对电动马达方案中需要使用到六步PWM输出功能,本篇文章将向大家介绍如何使用MM32L0系列MCU实现六步PWM输出功能。

MM32高级控制定时器TIM1有互补输出的功能,我们便可以利用定时器 TIM1 来产生 3 对 6 路的互补 PWM 输出。MM32高级控制定时器TIM1产生六步PWM输出,用于驱动三相电机,对应着直流无刷电机的六步换相。

STM32串口配置步骤

串口设置的一般步骤可以总结为如下几个步骤:

1) 串口时钟使能, GPIO 时钟使能
2) 串口复位
3) GPIO 端口模式设置
4) 串口参数初始化
5) 开启中断并且初始化 NVIC(如果需要开启中断才需要这个步骤)
6) 使能串口
7) 编写中断处理函数