📄 bsp_i2c.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 KICKSTART 10/Jan/2008 16:48:27 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = arm #
# Endian = little #
# Stack alignment = 4 #
# Source file = D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\BSP\bsp_i2c.c #
# Command line = D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\BSP\bsp_i2c.c -lCN #
# D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\Flash\List\ #
# -o D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Softw #
# are\EvalBoards\NXP\LPC2468-EA\IAR\OS-View\Flash\Obj\ #
# -z3 --no_cse --no_unroll --no_inline #
# --no_code_motion --no_tbaa --no_clustering #
# --no_scheduling --debug --cpu_mode arm --endian #
# little --cpu ARM7TDMI-S --stack_align 4 -e --fpu #
# None --dlib_config "C:\Program Files\IAR #
# Systems\Embedded Workbench 4.0 #
# Kickstart\arm\LIB\dl4tpannl8n.h" -I #
# D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\ -I #
# D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\..\..\..\..\. #
# .\ucos-ii\ports\arm\generic\iar\ -I #
# D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\..\..\..\..\. #
# .\ucos-ii\source\ -I D:\work\资料\嵌入式操作系统\UCO #
# S-II\Micrium\Software\EvalBoards\NXP\LPC2468-EA\IAR\ #
# OS-View\..\..\..\..\..\ucosview\source\ -I #
# D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\..\..\..\..\. #
# .\ucosview\ports\arm7\lpc2468\iar\ -I #
# D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\..\..\..\..\. #
# .\uc-lib\ -I D:\work\资料\嵌入式操作系统\UCOS-II\Mic #
# rium\Software\EvalBoards\NXP\LPC2468-EA\IAR\OS-View\ #
# ..\..\..\..\..\uc-cpu\ -I #
# D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\..\..\..\..\. #
# .\uc-cpu\arm\IAR\ -I D:\work\资料\嵌入式操作系统\UCO #
# S-II\Micrium\Software\EvalBoards\NXP\LPC2468-EA\IAR\ #
# OS-View\..\BSP\ -I "C:\Program Files\IAR #
# Systems\Embedded Workbench 4.0 Kickstart\arm\INC\" #
# List file = D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\Flash\List\bs #
# p_i2c.lst #
# Object file = D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\Flash\Obj\bsp #
# _i2c.r79 #
# #
# #
##############################################################################
D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software\EvalBoards\NXP\LPC2468-EA\IAR\BSP\bsp_i2c.c
1 /*
2 *********************************************************************************************************
3 * MICRIUM BOARD SUPPORT SUPPORT
4 *
5 * (c) Copyright 2003-2006; Micrium, Inc.; Weston, FL
6 *
7 * All rights reserved. Protected by international copyright laws.
8 * Knowledge of the source code may NOT be used to develop a similar product.
9 * Please help us continue to provide the Embedded community with the finest
10 * software available. Your honesty is greatly appreciated.
11 *********************************************************************************************************
12 */
13
14 /*
15 *********************************************************************************************************
16 *
17 * I2C FUNCTIONS
18 *
19 * NXP LPC2468
20 * on the
21 * Embedded Artists LPC2468 OEM Board
22 *
23 * Filename : bsp.c
24 * Version : V1.00
25 * Programmer(s) : Brian Nagel
26 * Note(s) : (1) Adapted from uCLinux distribution.
27 *********************************************************************************************************
28 */
29
30 #define BSP_GLOBALS
31 #include <includes.h>
\ In segment DATA_AN, at 0xfffff00c
\ union <unnamed> volatile __data _A_VICIntSelect
\ _A_VICIntSelect:
\ 00000000 DS8 4
\ In segment DATA_AN, at 0xfffff010
\ union <unnamed> volatile __data _A_VICIntEnable
\ _A_VICIntEnable:
\ 00000000 DS8 4
\ In segment DATA_AN, at 0xfffff014
\ union <unnamed> volatile __data _A_VICIntEnClear
\ _A_VICIntEnClear:
\ 00000000 DS8 4
\ In segment DATA_AN, at 0xfffff124
\ unsigned long volatile __data VICVectAddr9
\ VICVectAddr9:
\ 00000000 DS8 4
\ In segment DATA_AN, at 0xe002c004
\ union <unnamed> volatile __data _A_PINSEL1
\ _A_PINSEL1:
\ 00000000 DS8 4
\ In segment DATA_AN, at 0xe001c000
\ union <unnamed> volatile __data _A_I2C0CONSET
\ _A_I2C0CONSET:
\ 00000000 DS8 4
\ In segment DATA_AN, at 0xe001c004
\ union <unnamed> const volatile __data _A_I2C0STAT
\ _A_I2C0STAT:
\ 00000000 DS8 4
\ In segment DATA_AN, at 0xe001c008
\ union <unnamed> volatile __data _A_I2C0DAT
\ _A_I2C0DAT:
\ 00000000 DS8 4
\ In segment DATA_AN, at 0xe001c010
\ union <unnamed> volatile __data _A_I2C0SCLH
\ _A_I2C0SCLH:
\ 00000000 DS8 4
\ In segment DATA_AN, at 0xe001c014
\ union <unnamed> volatile __data _A_I2C0SCLL
\ _A_I2C0SCLL:
\ 00000000 DS8 4
\ In segment DATA_AN, at 0xe001c018
\ union <unnamed> volatile __data _A_I2C0CONCLR
\ _A_I2C0CONCLR:
\ 00000000 DS8 4
32
33 /*
34 *********************************************************************************************************
35 * #DEFINE CONSTANTS
36 *********************************************************************************************************
37 */
38
39 #define I2CON_AA DEF_BIT_02
40 #define I2CON_SI DEF_BIT_03
41 #define I2CON_STO DEF_BIT_04
42 #define I2CON_STA DEF_BIT_05
43 #define I2CON_I2EN DEF_BIT_06
44
45 /* ---- I2C STATUS CODES: MASTER IN TRANSMITTER MODE ------ */
46 #define I2STAT_SLA_W_ACK 0x18
47 #define I2STAT_SLA_W_NOACK 0x20
48 #define I2STAT_DAT_T_ACK 0x28
49 #define I2STAT_DAT_T_NOACK 0x30
50
51 /* ------ I2C STATUS CODES: MASTER IN RECEIVER MODE ------- */
52 #define I2STAT_SLA_R_ACK 0x40
53 #define I2STAT_SLA_R_NOACK 0x48
54 #define I2STAT_DAT_R_ACK 0x50
55 #define I2STAT_DAT_R_NOACK 0x58
56
57 /* ---------- I2C STATUS CODES: MASTER AND SLAVE ---------- */
58 #define I2STAT_START 0x08
59 #define I2STAT_REPEATED_START 0x10
60 #define I2STAT_ARB_LOST 0x38
61 #define I2STAT_NOP 0x58
62 #define I2STAT_BUS_ERROR 0x00
63
64
65 #define PCA9532_ADDRESS 0xC0
66
67 #define PCA9532_INPUT0 0x00
68 #define PCA9532_INPUT1 0x01
69 #define PCA9532_PSC0 0x02
70 #define PCA9532_PWM0 0x03
71 #define PCA9532_PSC1 0x04
72 #define PCA9532_PWM1 0x05
73 #define PCA9532_LS0 0x06
74 #define PCA9532_LS1 0x07
75 #define PCA9532_LS2 0x08
76 #define PCA9532_LS3 0x09
77
78 /*
79 *********************************************************************************************************
80 * DATA TYPES
81 *********************************************************************************************************
82 */
83
84
85 /*
86 *********************************************************************************************************
87 * VARIABLES
88 *********************************************************************************************************
89 */
90
\ In segment DATA_Z, align 1, align-sorted
91 static CPU_INT08U I2C_Address;
\ I2C_Address:
\ 00000000 DS8 1
\ In segment DATA_Z, align 4, align-sorted
92 static CPU_INT08U *I2C_BufPtr;
\ I2C_BufPtr:
\ 00000000 DS8 4
\ In segment DATA_Z, align 1, align-sorted
93 static CPU_INT08U I2C_Count;
\ I2C_Count:
\ 00000000 DS8 1
94
\ In segment DATA_Z, align 4, align-sorted
95 static OS_EVENT *I2C_SemWait;
\ I2C_SemWait:
\ 00000000 DS8 4
\ In segment DATA_Z, align 4, align-sorted
96 static OS_EVENT *I2C_SemBusy;
\ I2C_SemBusy:
\ 00000000 DS8 4
97
98 /*
99 *********************************************************************************************************
100 * PROTOTYPES
101 *********************************************************************************************************
102 */
103
104
105 /*
106 ******************************************************************************************************************************
107 ******************************************************************************************************************************
108 ** Global Functions
109 ******************************************************************************************************************************
110 ******************************************************************************************************************************
111 */
112
113
114 /*
115 *********************************************************************************************************
116 * I2C_Init()
117 *
118 * Description : This function initializes the I2C
119 *
120 * Arguements : None
121 *
122 * Returns : None
123 *********************************************************************************************************
124 */
125
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -