#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /* i2c controller state *///i2c控制器状态enum s
//CRC.C/*************************************************************************************************//* STM32 CRC *///20120427#include "stm32f10x_map.h"#include "system.h"#include "crc.h"/*******
首先,本人虽然初学STM32但极力反对一种误人子弟的观点:“对于STM32这样级别的MCU,有库函数就不用去看寄存器怎么操作的了!”好了,言归正传,最近总看到很多朋友对于PWM这个实验有很多的疑惑,看到原子也在极力的
“下面代码是stm32F1库函数中对flash写入一个字的函数部分,其中在给用u32表示的地址address赋值时,通过(_IO uint16_t*)将Address强制转换成了一个16位数的地址。很不理解为什么要转成16位的。实验改成32位后发
看到这篇C51的内存分配和优化的文章,个人觉得分析的十分到位,在这里转给大家C51的内存分配不同于一般的PC,内存空间有限,采用覆盖和共享技术。在Keil编译器中,经过编译后,会形成一个M51文件,在其内部可以详细的
void RCC_DeInit(void){RCC->CR |= (uint32_t)0x00000001; //开启内部8MHz时钟#ifndef STM32F10X_CL //STM32F10X_CL指的是STM32互联系列微处理器RCC->CFGR &= (uint32_t)0xF8FF0000; //其它类型处理器的CFGR寄存器中
在实际工作中,单片机定时器延时程序的设计通常会分为硬件延时设计和软件延时设计两种方案。其中,单片机定时器的软件延时操作是比较常见的,在今天的文章中,我们将会就单片机定时器延时程序的软件设计和操作技巧,
使用fsmc总线驱动彩屏的特点是速度快,与使用IO口模拟的时序的做法相比,FSMC稳定性好,缺点是配置复杂,较难理解。现将配置步骤总结如下:1.配置引脚配置函数如下:void LCD_CtrlLinesConfig(void){GPIO_InitTypeDe
//实例6:使用P0口流水点亮8位LED#include //包含单片机寄存器的头文件 /**************************************** 函数功能:延时一段时间 *****************************************/void delay(void) {
由于电阻式触摸屏就是一种传感器,它利用压力感应进行控制,将矩形区域中触摸点(X,Y)的物理位置转换为代表X坐标和Y坐标的电压。这里先引入两个概念,物理坐标和逻辑坐标。物理坐标指触摸屏上点的实际位置,通常以液晶上
ARM的约定byte 8bitshalfword 16bitsword 32bitsARM Core 提供的指令集ARM指令集 32bitsThumb 指令集 16bitsThumb2 指令集 16&32bitsARM CPU的七种工作模式符号解释User用户模式,大部分任务执行在这种模式FIQ快速中
用Arduino编程具有简单易学的特点,但要配合Arduino控制板使用,使得成本比较高,体积也大,而且除单片机电路以外的大部分电路只在编程时有用,在电子制作上使用后就是多余的了,造成了浪费。能不能不用Arduino控制板
引言 在光通信领域,更大的带宽、更长的传输距离、更高的接收灵敏度,永远都是科研者的追求目标。尽管波分复用(WDM)技术和掺铒光纤放大器(EDFA)的应用已经极大的提高了光通信系统的带宽和传输距离,
LPC1768芯片带有USB设备控制器,前面写的文章都是在说比较简单的设备驱动,今天来说复杂一点的 首先是硬件层的配置#ifndef __USBHW_H__#define __USBHW_H__#include "debugSerial.h"#include "usbreg.h"#include "
BootLoader指系统启动后,在操作系统内核运行之前运行的一段小程序。通过BootLoader,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好