ARM
benjamin721
这个作者很懒,什么都没留下…
展开
-
STM32_定时器_PWM_笔记
TIM1和TIM8:高级定时器1、输入捕获(脉冲宽度)2、输出波形(输出比较、PWM,嵌入死区时间的互补PWM)原创 2016-03-10 10:13:02 · 618 阅读 · 0 评论 -
RTOS笔记
固定优先级抢占式调度:每个任务都被赋予了一个优先级,该优先级只能被任务修改,不能被内核本身修改每个任务都可以存在于一个或多个状态在任何时候都只有一个任务可以处于运行状态调度器总是在处于就绪态的任务中选择具有最高优先级的任务来执行抢占式:是指任务进入就绪态或者优先级被修改时,如果处于运行态的任务优先级更低,那么该任务总是抢占当前运行任务。调度策略:1、单调原创 2016-04-18 16:12:03 · 418 阅读 · 0 评论 -
nand flash_笔记
参考文章:http://blog.csdn.net/xgbing/article/details/18422691名次解释:BBM : Bad Block Management 坏块管理BBT : Bad Block Table 坏块表ECC : Error Correction Code 错误校验码MTD : Memory Technology Device 内转载 2016-08-11 14:21:06 · 909 阅读 · 0 评论 -
ARM交叉编译器_说明
参考文章:http://www.veryarm.com/296.html命名规则交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]arch - 体系架构,如ARM,MIPSvendor - 工具链提供商os - 目标操作系统eabi - 嵌入式应用二进制接口(Embedded Application Binary In转载 2016-05-11 21:43:56 · 389 阅读 · 0 评论 -
keil使用_笔记
调试局部变量,watch窗口显示"not int scope"原因:编译器优化级别高的时候,可能没有将局部变量分配到内存,或者变量被编译器优化了。解决方法:调整优化级别原创 2016-12-08 10:15:38 · 677 阅读 · 0 评论 -
USB串口设备_笔记
实现USB串口(参考圈圈教材)1、修改Device Descriptor,需在设备描述符中指定设备类型,bDeviceClass字段 = 0x02(通信设备类的类代码),子类与所使用的协议都指定为0。修改PID/VID。2、修改Configuration Descriptor,需具备两个接口,CDC类接口和数据类接口。在CDC设备中,必须有一个CDC接口,以供数据类接口衣服原创 2016-04-25 15:32:08 · 2008 阅读 · 0 评论 -
自定义USB-HID设备_笔记
参考圈圈教程:在USB键盘的描述符基础上做如下修改:1、Device Descriptor :修改PID/VID ;2、Configuration Descriptor :修改 Interface Descriptor中的 bInterfaceSubClass 字段和bInterfaceProtocol字段改为 0 ;(自定义HID不使用子类和协议)3、HID Report Des原创 2016-04-25 14:36:40 · 3774 阅读 · 0 评论 -
HID报告描述符解析_笔记
要了解报告描述符,需要两份资料:《device class definition for human interface device (HID)》, 《Universal Serial Bus HID Usage Tables》例如:0x05, 0x01, // USAGE_PAGE (Generic Desktop)0x05表示前缀,0x01为数据部分0x05转换成二进制,原创 2016-04-22 11:21:28 · 8459 阅读 · 1 评论 -
STM32_SPI_笔记
SPI主机负责产生时钟,决定了SPI通信速率。可以同时收发数据;时钟极性(CPOL)决定同步时钟空闲状态;时钟相位(CPHA):0:CLK的第一个跳变沿(上升沿或下降沿)数据被采样;1:CLK的第二个跳变沿数据被采样;写:主机对SPIX->DR写数据,CLK产生时钟,同时数据从MOSI -> MISO读:主机对SPIX->DR写DUMMY(空字节),CLK产生时钟,DU原创 2016-03-12 01:24:10 · 2606 阅读 · 0 评论 -
modbus协议_笔记
modbus报文模型:ADU: 应用数据单元PDU: 协议数据单元信息帧格式:信息帧允许的最大长度为256Byte,N的范围是(0 , 252);从机地址范围(1 , 247),0为广播地址;功能码范围(1 , 225),正常响应时,从机返回原功能码,非正常响应,从机返回 原功能码|0x80;数据域需要指明从哪个寄存器读写多少数据,数据域长度可为0表示某原创 2016-03-02 22:38:39 · 960 阅读 · 0 评论 -
STM32_DMA_笔记
STM32F103有两个DMA控制器DMA1(7通道)和DMA2(5通道),DMA2只存在大容量产品中。案例1:DMA传输到串口发送//配置DMA寄存器 #define UART_RX_LEN 5 u8 Uart_Send_Buffer[UART_RX_LEN] = {0x12,0x34,0x56,0x78,0x90}; //需发送到串口的数据u8 i=0;原创 2016-03-10 16:00:32 · 552 阅读 · 0 评论 -
STM32_架构_笔记
STM32时钟系统:5个时钟源1、HSI 高速内部时钟、RC振荡器,8Mhz2、HSE高速外部时钟,外部晶振,4-16Mhz3、LSI 低速内部时钟、RC振荡器,独立看门狗/RTC的时钟源4、LSE低速外部时钟,32.768Khz,RTC时钟源5、PLL锁相环倍频输出,时钟输入可选HSI/2、HSE、HSE/2,倍频可选2-16倍,输出最大频率不超过72MhzPS:原创 2016-03-10 10:54:46 · 440 阅读 · 0 评论 -
STM32_UART_笔记
/*=================================================================================================*/#if 1#pragma import(__use_no_semihosting) struct __FILE { int handl原创 2016-03-10 10:35:26 · 391 阅读 · 0 评论 -
STM32_外部中断_笔记
STM32每个IO口都可以作为外部中断输入,STM32F103支持19个外部中断/事件请求:line0-15:IO口外部中断line16:PVD输出line17:RTC闹钟事件line18:USB唤醒事件IO口外部中断函数只有6个:EXPORT EXTI0_IRQHandlerEXPORT EXTI1_IRQHandlerEXPORT EXTI2_I原创 2016-03-10 10:29:32 · 394 阅读 · 0 评论 -
关于RO、RW、ZI的说明
参考文章:ARM中RO、RW和ZI DATA说明http://mcuos.com/thread-2843-1-1.htmlSTM32后生成编译文件大小探索http://www.cnblogs.com/51mcu/p/3940376.htmlhex、bin、elf、axf文件区别http://wenku.baidu.com/link?url=jnO4kGR原创 2016-05-09 17:02:58 · 1166 阅读 · 0 评论