随笔分类 -  LPC1768开发笔记

1
LPC1768开发相关的东西,计划写到最后写USB
摘要:首先在之前鼠标的基础上修改设备描述符#include "usbdesc.h"//usb标准设备描述符const U8 USB_DeviceDescriptor[] = { USB_DEVICE_DESC_SIZE, //bLength字段。设备描述符的长度为18(0x12)字节 USB_DEVICE... 阅读全文
posted @ 2015-03-22 19:22 邓小俊 阅读(1852) 评论(0) 推荐(0)
摘要:#ifndef __USBCFG_H__#define __USBCFG_H__//#define USB_IF_NUM 1#define USB_MAX_PACKET0 64#define USB_DMA_EP 0x00000000//尽量不要是能太多时间//这里每一个事件都代表着一个回调函数,使... 阅读全文
posted @ 2015-03-15 01:57 邓小俊 阅读(913) 评论(0) 推荐(0)
摘要:#ifndef __USBEP1_H_#define __USBEP1_H_#include "usb.h"#include "usbhw.h"extern s8 sendBuffer[4]; //鼠标数据发送缓冲区extern u8 mouse_connect; //鼠标连接标志void usb_... 阅读全文
posted @ 2015-03-15 01:56 邓小俊 阅读(557) 评论(0) 推荐(0)
摘要:#ifndef __USBREG_H#define __USBREG_H/* usb设备中断定义 usb_devintst usb_devinten usb_devintclr usb_devintdet*/#define FRAME_INT 0x00000001 //每隔1MS产生一次帧中断,该中... 阅读全文
posted @ 2015-03-15 01:55 邓小俊 阅读(1117) 评论(0) 推荐(0)
摘要:枚举过程如下#ifndef __USBCORE_H__#define __USBCORE_H__/* USB端点0 发送数据结构体*/typedef struct _USB_EP_DATA{ U8 *pData; U16 Count;} USB_EP_DATA;/* USB全局变量 */extern... 阅读全文
posted @ 2015-03-15 01:53 邓小俊 阅读(782) 评论(0) 推荐(0)
摘要:#ifndef __USB_H__#define __USB_H__//usb传输数据的宏定义描述#include "sys.h"typedef __packed union { U16 W; __packed struct { U8 L; U8 H; } WB;} U16_8;//定义一个16位长... 阅读全文
posted @ 2015-03-15 01:51 邓小俊 阅读(937) 评论(0) 推荐(0)
摘要:LPC1768芯片带有USB设备控制器,前面写的文章都是在说比较简单的设备驱动,今天来说复杂一点的 首先是硬件层的配置#ifndef __USBHW_H__#define __USBHW_H__#include "debugSerial.h"#include "usbreg.h"#inclu... 阅读全文
posted @ 2015-03-15 01:50 邓小俊 阅读(1745) 评论(0) 推荐(0)
摘要:#define XTAL_FREQ 12000000#define VECT_TAB_OFFSET 0x0000void SystemInit(void){ //PLL0时钟配置 LPC_SC->SCS = 0X00000020; /*使能外部主晶振,频率范围1-20M*/ if (LPC_SC->... 阅读全文
posted @ 2015-03-15 01:48 邓小俊 阅读(550) 评论(0) 推荐(0)
摘要://其他通道的基本定时功能都能在这里实现void Time0Mr0Init(u32 arr,u32 psc){ LPC_SC->PCONP |= (1TCR |= (1MR0 = psc; //匹配寄存器与定时器计数器值相比较 LPC_TIM0->IR |= 0XFF; //清所有中断标志位 LPC... 阅读全文
posted @ 2015-03-15 01:46 邓小俊 阅读(1444) 评论(0) 推荐(0)
摘要://p2.0 pwm1.1void ALS_Init(void) //初始化{ LPC_SC->PCONP |= (1PCLKSEL0 &= ~(3PCLKSEL0 &= ~(3PINSEL4 &= ~(0X03LPINMODE4 &= ~(0X03LPINMODE_OD2 &= ~(0X01TCR... 阅读全文
posted @ 2015-03-15 01:44 邓小俊 阅读(1450) 评论(0) 推荐(0)
摘要:void wwdg_init(void){ LPC_SC->PCLKSEL0 |= (3WDCLKSEL &= ~(3WDCLKSEL |= (1WDCLKSEL |= (1WDTC = 0xffff;//设定重载值 LPC_WDT->WDMOD |= (1WDFEED = 0xaa; LPC_WD... 阅读全文
posted @ 2015-03-15 01:42 邓小俊 阅读(1174) 评论(0) 推荐(0)
摘要:SPI是一种全双工串行接口,可处理多个连接到指定总线上的主机和从机。在数据传输过程中总线上只能有一个主机和一个从机通信。在数据传输中,主机总是会向从机发送一帧8到16个位的数据,而从机也总会向主机发送一帧字节数据使用代码如下void SpiInit(SPI_SPEED speed){ u8 div=... 阅读全文
posted @ 2015-03-15 01:41 邓小俊 阅读(1134) 评论(1) 推荐(0)
摘要:IIS是飞利浦公司定义的一种用于音频传输的数字总线,LPC1768支持该总线, I2S接口为一条3线串行总线,含有1根数据线、1根时钟线和1根字选择信号线。基本的I2S连接具有一个主机(其总是为主机)和一个从机。LPC1700系列Cortex—M3微控制器的I2S提供了彼此独立的发送和接收通道,每个... 阅读全文
posted @ 2015-03-15 01:39 邓小俊 阅读(510) 评论(0) 推荐(0)
摘要:LPC1768在系统滴答定时器和通用定时器之外还引入了一个定时器,叫做重复定时器RIT,该定时器只能用于定时操作,带有一个中断,我个人的感觉,这似乎是为了延时函数设计的一个定时器那么使用该定时器时遵循什么流程?第一,打开时钟第二,我们要确定定时器从pclk分频数值,这要靠另外一个寄存器第三,先关闭定... 阅读全文
posted @ 2015-03-15 01:36 邓小俊 阅读(538) 评论(0) 推荐(0)
摘要:LPC1768有三路IIC,其中IIC0支持高速模式和plus模式,另外两路是普通IIC,使用IIC的过程如下 首先依然是打开IIC时钟,同时打开GPIO时钟然后配置引脚为IIC功能另外,因为iic0支持plus结构,所以gpio控制的时候还有这个寄存器需要设置接下来设置IIC的高低电平占空比最后使... 阅读全文
posted @ 2015-03-15 01:34 邓小俊 阅读(1437) 评论(0) 推荐(0)
摘要:Lpc1768内置有一个ad外设,该外设有八路复用输入,所以,可以同时接八路ad设备,同时还支持触发转换模式,由外部端口进行ad触发,ad转换完成之后可以产生中断 Lpc1768支持的转换模式有两种,分别会连续转换模式和软件单次转换模式,连续转换模式可以自动的按照我们选择的转换位进行ad的依次转换,... 阅读全文
posted @ 2015-03-15 01:31 邓小俊 阅读(2256) 评论(0) 推荐(0)
摘要:Lpc1768内置了四个串口通讯模块,都是异步通讯模块,其中,串口0/2/3是普通串口通讯,串口1与 UART0/2/3 基本相同,只是增加了一个 Modem 接口和 RS-486/EIA-486 模式,不支持IrDA,我们今天以串口0来演示串口的使用. 首先,使用串口0要打开串口0的时钟然后要配置... 阅读全文
posted @ 2015-03-15 01:28 邓小俊 阅读(5593) 评论(1) 推荐(0)
摘要:LPC1768的外部中断严格来说只有四个,分别是EINT0,EINT1,EINT2,EINT3,技术手册上有如下说明控制这四个外部中断靠以下寄存器这三个寄存器的0 1 2 3位分别代表中断的0 1 2 3,EXTINT寄存器表示中断是否发生,在发生中断的时候该寄存器会置位,可以通过写1清零,EXTM... 阅读全文
posted @ 2015-03-14 00:01 邓小俊 阅读(2253) 评论(1) 推荐(1)
摘要:LPC1788通用IO口的控制包含了一些基本的组件,比如设置推挽输出,开漏输出,上拉电阻等,我们今天来看看. 首先使用GPIO要打开GPIO的系统时钟 LPC_SC->PCONP |= (1>第五章(87页~92页).//IO口操作宏定义#define BITBAND(addr, bit... 阅读全文
posted @ 2015-03-13 23:54 邓小俊 阅读(5449) 评论(0) 推荐(0)
摘要:之前说了stm32的iap编程,今天天气真好,顺手就来说说lpc1788的iap编程(没看前面的请查看stm笔记下的内容) 首先是flash的算法,lpc1768并没有寄存器来让我们操作flash,他内置了iap的flash算法,在技术手册的525页有如下说明 其支持的iap命令有这些这... 阅读全文
posted @ 2015-03-13 23:46 邓小俊 阅读(4207) 评论(0) 推荐(0)

1