-
在设计软件的时候,有的对时序要求比较严格,但是简单的延时函数又不能准确延时---STM32中有一个系统滴答时钟是不错的配置-------第一部分是---向滴答时钟寄存器写初值,也就是要根据系统频率来递减----然后为0则产生中断voidSysTick_Init(uint32_ta)//a-us{/*SystemFrequency/10001ms中断一次*Sy...[详细]
-
因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序,然后不断地调试。在这个程序之前,先要深入去了解ARM的中断方式,知道它有7种工作方式。下面先看初始化的代码是怎么样初始化不同模式栈的。/*IRQMODE。*/orrr1,r0,#0x12|0xc0msrcpsr,r1ldr...[详细]
-
IAR软件430的编译器里面我们可以利用它内部的延时子程序来实现我们想要的高精度软件延时,方法如下:(1):将以下这段代码复制到你的.C源文件中。#defineCPU_F((double)8000000)#definedelay_us(x)__delay_cycles((long)(CPU_F*(double)x/10000...[详细]
-
在写串口通信时,经常因为时钟频率或波特率更改,需要重新配置波特率寄存器,以MSP430F5438A为例,记录一下寄存器配置方法://=============================voidHal_Uart_Init(void){P3SEL|=RXD+TXD;//P3.4,5=USCI_A0TXD/RXDUCA0CTL1|=UCSWRS...[详细]
-
中断与事件的区别我们先来看中断/事件控制器的内部注意:对某个通道的上升沿和下降沿检测,通过配置上升/下降沿选择寄存器来进行检测哪一种沿。但是,只能在上升沿和下降沿两者中二选一来进行检测。中断/事件寄存器:选择最后输出的是中断还是事件。如果选择的是事件寄存器:路径如图所示:选择事件寄存器后,路径如图中红色箭头所示,我们由此可以知道事件路径最终输出的是脉冲信号...[详细]
-
一、c51程序功能c51接收特定的数据帧,并执行数据帧定义的功能;二、数据帧自定义:1、定义设备开关量0x02(开始)0x4B(表示开关量)0x01(设备编号)0x10(启动)0x02(开始)0x4B(表示开关量)0x01(设备编号)0x11(停止)2、定义模拟量0x02(开始)0x53(表示模拟量)0x01(设备编号)0x03(数据例如0x03)...[详细]
-
以前做毕业设计买了VS1003语音解码芯片和CH375优盘模块,现在有时间想做一个mp3播放器出来。参照的znFAT例程&SD卡驱动(STM32F103)第9个例程、振南电子SD卡MP3播放器程序和正点原子的mp3播放器程序。可实现播放优盘或TF卡根目录的所有mp3文件,增加4个独立按键,实现下一曲、上一曲切换,音量+、音量-的功能。显示mp3信息没用显示屏,用的串口直接输出到串口调试助手上。能...[详细]
-
前言使用过51单片机的朋友会清楚:51单片机在烧写程序的时候需要断一下电再上电;使用过STM32单片机的朋友会清楚:烧写程序时需要设置Boot模式。ESP8266在烧写程序时也需要手动设置模式,STM32的ISP自动下载电路都有了,那么ESP8266有没有自动下载电路呢?答案是有的。下面来分析。自动下载电路设计ESP8266下载过程中发现每次都需要去设置GPIO0的状态,如何实现自动给...[详细]
-
一、分号断句问题KIEL中,在循环中有这样一个问题,结果一直出现0x10,原因在于if后面多出一个分号。if(flag_display_remote);//1=REMOTE,0=LOCALE){flag_display_remote=0;Usart1_SendChar(flag_display_remote+0x10);}二、重复引用问题三、路径指定...[详细]
-
上一篇文章主要学习了NANDFalsh的基础知识,今天则来总结NANDFlash的初始化,以及块擦除,页的读写操作,以及芯片id号的获取。6.NANDFLASH的操作接口我们知道,函数在调用时需要使用栈,当项目的函数调用关系复杂时,尤其是存在多级函数调用时,容易导致栈溢出,此处函数调用的开销也会逐渐加大。为了更好的解决上述问题,一般使用宏的形式来实现规模较小的函...[详细]
-
A64指令集与现有的A32指令集相似。指令本身仍然是32位宽,并且具有相似的语法。指令集使用ARMv8-A体系结构中的通用命名约定,所以原始的32位指令集状态现在称作:A32当处于AArch32状态时,指令集在很大程度上与ARMv7-A兼容,虽然有些不同。它还提供了一些新指令,这些指令和A64指令集中引入的一些特性相匹配。T32Thumb指令集首次在ARM7TDMI处理器中引入...[详细]
-
传统的低频信号源或发生装置,因其大部分采用模拟电路设计的原因,一般具有价格昂贵、输出性能欠佳且不便于调节等问题,工程应用价值较低。为避免传统低频信号源或发生装置的上述技术缺点,降低技术开发成本和提高技术开发效率,文中利用AT89S51可以在线编写程序的特点,结合了DAC接口技术,设计了波形、频率、相位均调节方便并可产生方波、三角波、锯齿波、正弦波四种波形的技术方案。这种新的低频信号源设计方案,...[详细]
-
开发环境:主机:fedora14虚拟机:vmwareworkstation10交叉编译工具:arm-linux-gcc4.3.2开发板:mini2440(2mnor,64msdram,256mnand)内核版本:linux2.6.32.2上一篇帖子的uImage可以起yaffs2文件系统,但是起不了nfs,我的yaffs2使...[详细]
-
在现代电力电子系统中,随着内场测试和外场维护工作量的增加,对目前通用的测试仪器也提出了新的要求,研制低成本、体积小的便携式幅频特性测试仪具有深远的现实意义。目前,结合新型微处理器芯片进行幅频特性测试仪的研制主要有三种技术途径:(1)采用单片机作为主控芯片,通过软件编程方式实现部分硬件功能,这种方案可以有效降低系统的复杂度,但在实时性上不尽人意。(2)应用可编程逻辑器件(如FPGA)进行设计可以有...[详细]
-
这两天在用AVR单片机做项目,这次是边做边深入学,尽量将以前忽略的知识用上,比如指针、文件包含、条件编译、变量作用域等一一调研清楚。收获不少,再次体会到学习的过程中没有无用的地方。用的越深入,才发现学时以为没用的东西都是最有用的,因为都被忽略了。幸亏学习时候的最重要的《c程序设计》如果不能解决,就找编译器的问题。这是这段时间总结的经验。一、函数指针1.int(*func)(void...[详细]