【单片机笔记】NodeMcu入坑—LUA脚本语言PWM调光

先上代码--pwm.luapin = 4dutyMAX = 1023dutyMIN = 0flag = 0pwm.setup(pin,100,dutyMAX)pwm.start(pin)function changeDuty()    local duty = pwm.getduty(pin);    print(duty);    if(flag == 0) then        if (duty > dutyMIN+10) then       ...

http://www.eeworld.com.cn/mcu/2019/ic-news021543249.html 发布时间: 2019-02-15



ARM开发之linux字符型驱动的编写----LED驱动为例

相应头文件:#include<linux/module.h>  ---->模块化驱动的必须头文件#include<linux/kernel.h> ---->ARRAY_SIZE(),prink()#include<linux/fs.h>  ----> 文件操作集#include<linux/uaccess.h>  ----> copy_to_user(),copy_from_user()#include<linux/cdev.h>  ---->字符设备驱动的必须头文...

http://www.eeworld.com.cn/mcu/2019/ic-news021543247.html 发布时间: 2019-02-15



ARM开发之用linux通用GPIO接口宏函数操作IO口

ARM开发板:S5PV210驱动步骤:1.定义一个cdev设备结构体变量2.给cdev申请设备号3.定义一个文件操作集4.设备初始化5.注册设备进内核6.申请GPIO口GPIO相关函数接口:1.gpio_request(引脚,给引脚的名字)   ----申请GPIO口第一个参数:在内核代码 \arch\arm\mach-s5pv210\include\mach\gpio.h 中有定义,如下图(部分)如GPJ2寄存器的第一个引脚,就是 S5PV210_GPJ2(0)第二个参数:为管脚起一个名字而已。例如:申请GPJ2CON的第一个管脚,并取名为GPJ2_0:gpio_requ...

http://www.eeworld.com.cn/mcu/2019/ic-news021543246.html 发布时间: 2019-02-15



ARM开发之杂项设备的编写----以LED驱动为例

平台:S5PV210杂项设备的好处:有了字符型设备后,为什么要用杂项设备?1.节省主设备号,所有杂项设备的主设备号都是102.杂项设备开发起来比字符型设备简单开发步骤:1.定义1个杂项设备2.定义杂项设备的文件操作集3.申请物理内存区4.获取相应的虚拟地址5.注册混杂设备6.示例代码1.定义杂项设备static struct miscdevice led_misc = { .minor = MISC_DYNAMIC_MINOR,  .name = "misc_led", .fops = &fops, };如上代码:其中.minor代表动态生成次设备号,不用...
关键词: ARM 杂项设备 LED驱动

http://www.eeworld.com.cn/mcu/2019/ic-news021543245.html 发布时间: 2019-02-15



ARM驱动开发之ioctl函数的使用

0. linux 版本对 ioct l的影响kernel 2.6.36 中已经完全删除了fs.h中的struct file_operations 中的ioctl 函数指针,取而代之的是unlocked_ioctl 我们这里还是用 ioctl指针介绍吧,但实际使用的时候要注意自己的linux版本,如果是2.6.36以上的,在其fs.h中的struct file_operations 也会有 unlock_ioctl函数指针的。1.ioctl应用程序(用户空间)向驱动程序(内核空间)发送命令(当然也可以反过来内核空间向用户空间发命令),内核程序也有一个ioctl对应的函数用来接收命令,然...

http://www.eeworld.com.cn/mcu/2019/ic-news021543244.html 发布时间: 2019-02-15



STM32系统学习——I2C (读写EEPROM)

I2C 通讯协议(Inter-Integrated Circuit)引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。 在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32 标准库则是在寄存器与用户代码之间的软件层。对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。 物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。简单来说物理层规...
关键词: STM32 I2C 读写EEPROM

http://www.eeworld.com.cn/mcu/2019/ic-news021443205.html 发布时间: 2019-02-14



STM32系统学习——SPI(读写串行 FLASH)

一、SPI 协议简介 SPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、LCD 等设备与 MCU 间,要求通讯速率较高的场合。 可与 I2C 章节对比阅读,体会两种通讯总线的差异以及 EEPROM 存储器与 FLASH 存储器的区别。 1、物理层   SPI通讯使用 3 条总线及片选线,3条总线分别为 SCK、MOSI、MISO,片选线为 SS,它们的作用介绍如下: (1) SS( Slave Sel...
关键词: STM32 SPI 读写串行 FLASH

http://www.eeworld.com.cn/mcu/2019/ic-news021443204.html 发布时间: 2019-02-14



MSP430G2553ADC转换程序

#include "msp430G2553.h" long temp; long intDegF; long intDegC; //***************初始化ADC****/ void ADC10_init(void) {   ADC10CTL0 &=~ENC;    //关闭转换   ADC10CTL0 =ADC10IE + ADC10ON + REFON + ADC10SHT_3 + REF2_5V;   // ADC10IE  使能A...

http://bbs.eeworld.com.cn/thread-1069320-1-1.html 发布时间: 2019-02-14



AVR单片机扫盲

1、  AVR单片机采用RISC架构,8051单片机采用CISC架构。前者速度为后者的2~4倍,为流水线操作指令 2、  AVR单片机有32个通用寄存器(地址在RAM区从$0000开始到$001F),其中有6个(最后6个)合并为3个16位的X,Y,Z寄存器,用来存放地址指针,Z寄存器还可以寻址程序存储器 3、  哈佛结构,131条机器指令 4、  延迟开机功能 5、  内部自带RC振荡器,可提供1/2/4/8MHZ的工作时钟 6、  FLASH+EEPROM+SRA...

http://bbs.eeworld.com.cn/thread-1069314-1-1.html 发布时间: 2019-02-14



STM32如何查找hardfault原因

STM32出现HardFault_Handler故障的原因主要有两个方面:1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。2、堆栈溢出。增加堆栈的大小。 出现问题时排查的方法:发生异常之后可首先查看LR寄存器中的值,确定当前使用堆栈为MSP或PSP,然后找到相应堆栈的指针,并在内存中查看相应堆栈里的内容。由于异常发生时,内核将R0~R3、R12、LR、PC、XPRS 寄存器依次入栈,其中LR即为发生异常前PC将要执行的下一条指令地址。注意:寄存器均是32位,且STM32是小端模式。(参考Cortex-M3权威) 编写问题代码如下:v...
关键词: STM32 hardfault

http://www.eeworld.com.cn/mcu/2019/ic-news021443196.html 发布时间: 2019-02-14



单片机CPU卡程序设计系统主频设置

数据位宽的计算依赖于单片机系统的主频,不同主频下,需要根据实际情况编写数据位宽的计算程序 /******************************************* 函数名称:SystemClock2M 函数功能:系统主频设为2M 输入参数:无 输出参数:无 描述: *******************************************/ void SystemClock2M(void) { unsigned int uiTranceiver,uiTemp=0; //XT1由晶振产生, UCSCTL6 &= ~(XT1OFF); /...

http://bbs.eeworld.com.cn/thread-1069226-1-1.html 发布时间: 2019-02-13



关于STM32串口空闲中断的问题

1.空闲中断是接受数据后出现一个byte的高电平(空闲)状态,就会触发空闲中断.并不是空闲就会一直中断,准确的说应该是上升沿(停止位)后一个byte,如果一直是低电平是不会触发空闲中断的(会触发break中断)。2.关于第二点有要铺垫的三个情况,datasheet中"当一空闲帧被检测到时,其处理步骤和接收到普通数据帧一样,但如果IDLEIE位被设置将产生一个中断""空闲符号被视为完全由'1'组成的一个完整的数据帧,后面跟着包含了数据的下一帧的开始位'1'的位数也包括了停止位的位数” 空闲符号的配图后面跟这一个低电平.有人理解为只有收...
关键词: STM32 串口空闲 中断

http://www.eeworld.com.cn/mcu/2019/ic-news021343193.html 发布时间: 2019-02-13



MDK S3C2440启动代码简单分析

ARM启动代码相当于我们电脑的BIOS,也就是ARM启动时对处理器的一些初始化及嵌入式系统硬件的一些初始化。由于它直接面对处理器内核和硬件控制器进行编程,一般都是用汇编语言。一般包括:中断向量表,初始化存储器系统,初始化堆栈,初始化有特殊要求的断口,设备初始化,变量初始化等。 ;/*****************************************************************************/;/*S3C2440A.S: Startup file for Samsung S3C440A        &...
关键词: MDK S3C2440 启动代码

http://www.eeworld.com.cn/mcu/2019/ic-news021343181.html 发布时间: 2019-02-13



基于S3C2410 的MDK 例程移植

移植所关注的要点如下所示:1.分散加载文件关于散加载文件的具体内容介绍,可参考附录1“Realview MDK 中链接脚本详细解析”,这里只针对S3C2410 以及开发板的特点,给出具体的代码参考。之前提到的S3C2410 及其开发板的一些基本参数,这里我们要关心的是SDRAM 和Nor Flash 的编址问题。通过阅读S3C2410 用户指南可知,地址分布如下:0x0000 0000 ~~ 0x0100 0000 :32M Nor Flash0x8000 0000 ~~ 0x8100 0000 :32M Nor Flash0x3000 0000 ~~ 0x0200 0000 :64M SDR...
关键词: S3C2410 MDK 例程移植

http://www.eeworld.com.cn/mcu/2019/ic-news021343180.html 发布时间: 2019-02-13



芯灵思SinlinxA33开发板Linux中断编程4-最终代码(1)

按键驱动代码: #include #include #include #include #include #include #include #include #include    #define DEVICE_BUTTON  "mybtn" #define BTN_MAJOR   255 static char keybuf[] = {"0"}; static struct miscdevice misc = {     .minor = BTN_MAJOR,    ...

http://bbs.eeworld.com.cn/thread-1069205-1-1.html 发布时间: 2019-02-13



边缘计算助力智能制造发展,AIStorm获得1320万投资

将计算放到到智能设备端的网络架构边缘计算已经成长起来,根据预计,到2022年,这个市场规模将达到67.2亿美元的市场。它的增长将与深度学习芯片组市场的增长一致,分析师预测,后者的市场规模到2025年将达到663亿美元。而边缘计算预计将在未来六年内占全球AI芯片组业务总量的约四分之三。  Maxim,Micrel和Semtech的前高级主管David Schie则认为,这两个市场都已经成熟。他与WSI,东芝和Arm老兵Robert Barker,Andreas Sibrai和Cesar Matias于2011年共同创建了AIStorm。这是一家位于圣何塞的人工智能(AI)创业...
关键词: AIStorm 边缘计算

http://www.eeworld.com.cn/IoT/2019/ic-news02134910.html 发布时间: 2019-02-13



为边缘计算提供新办法,AIStorm获得1320万投资

来源:内容由公众号半导体行业观察翻译自「venturebeat」,谢谢。将计算放到到智能设备端的网络架构边缘计算已经成长起来,根据预计,到2022年,这个市场规模将达到67.2亿美元的市场。它的增长将与深度学习芯片组市场的增长一致,分析师预测,后者的市场规模到2025年将达到663亿美元。而边缘计算预计将在未来六年内占全球AI芯片组业务总量的约四分之三。Maxim,Micrel和Semtech的前高级主管David Schie则认为,这两个市场都已经成熟。他与WSI,东芝和Arm老兵Robert Barker,Andreas Sibrai和Cesar Matias于2011年共同创建了AIS...

http://www.eeworld.com.cn/mp/Icbank/a60980.jspx 发布时间: 2019-02-13



DSP28335-ePWM

#include "DSP28x_Project.h" // Configure the period for each timer #define EPWM1_TIMER_TBPRD  3750  // Period register 系统始终为150MHZ,下面的程序进行了4分频,即为37.5MHZ,这样得到的是10KHZ #define EPWM1_START_CMPA     1900//设置PWM通道A初始占空比 #define EPWM1_START_CMPB...

http://bbs.eeworld.com.cn/thread-1069140-1-1.html 发布时间: 2019-02-12



PWM1,2,3的A,B,C 6个通道初始化

#include "pwm.h" //PRD:自动重装值 //CMPA:通道A比较值 //CMPB:通道B比较值 void InitEPwm123(int16 PRD) {    InitEPwmGpio();          //初始化EPWM1,2,3的GPIO    Epwm1_Init(PRD);    Epwm2_Init(PRD);    Epwm3_Init(PRD); } ...

http://bbs.eeworld.com.cn/thread-1069139-1-1.html 发布时间: 2019-02-12



MSP430F1232中断学习

ADC10中断: 和定时器一样,ADC10也有中断请求的能力,如果不使用DCT(ADC10DCT1=0),当转换结果装载到ADC10MEM时,ADC10中断标志位即ADC10IFG置1。如果使用DCT,当DCT设定的所有转换完成之后,中断标志为置1。 大概过程是这样的:     //对于中断来说,当每次两个整个数据块都传递完成时,中断标志置1,此时产生中断,让CPU跳出低功耗状态,继续执行进入低功耗后续没有执行的代码     //又继续使能AD转换,CPU又进入低功耗状态,由于AD转换独立于CPU,...

http://bbs.eeworld.com.cn/thread-1069129-1-1.html 发布时间: 2019-02-12




<上一页 12345678910111213141516 下一页> 相关结果约4,713个