Вс окт 22, 2017 01:45:29
#include <LPC23xx.h>
int main(void) {
FIO2DIR |= (1<<12);
CLKSRCSEL = 0x01;
while(1) {
FIO2SET |= (1<<12);
FIO2CLR |= (1<<12);
}
};
Пн окт 23, 2017 03:00:23
Пн окт 23, 2017 09:54:52
AlphaLaiman писал(а):Вывод BOOT подтянут к питанию?
Пн окт 23, 2017 11:22:55
Пн окт 23, 2017 11:46:43
uk8amk писал(а):В этом камне оказывается используется пин P2[10]/EINT0
Пн окт 23, 2017 12:35:22
Пн окт 23, 2017 12:55:52
dosikus писал(а):Вы там по Редькину что ли изучаете?
Пн окт 23, 2017 23:54:34
#include <LPC23xx.h>
int main(void) {
MEMMAP = 0x1;
FIO2DIR |= (1<<12);
CLKSRCSEL = 0x01;
while(1) {
FIO2SET |= (1<<12);
FIO2CLR |= (1<<12);
}
};
; * REMAP: when set the startup code initializes the register MEMMAP
; * which overwrites the settings of the CPU configuration pins. The
; * startup and interrupt vectors are remapped from:
; * 0x00000000 [b]default setting (not remapped)[/b]
; * 0x40000000 when RAM_MODE is used
; * 0x80000000 when EXTMEM_MODE is used
Вт окт 24, 2017 06:15:33
Вт окт 24, 2017 11:30:50
; Standard definitions of Mode bits and Interrupt (I & F) flags in PSRs
Mode_USR EQU 0x10
Mode_FIQ EQU 0x11
Mode_IRQ EQU 0x12
Mode_SVC EQU 0x13
Mode_ABT EQU 0x17
Mode_UND EQU 0x1B
Mode_SYS EQU 0x1F
I_Bit EQU 0x80 ; when I bit is set, IRQ is disabled
F_Bit EQU 0x40 ; when F bit is set, FIQ is disabled
;---------- Memory Definitions ----------
; Internal Memory Base Addresses
FLASH_BASE EQU 0x00000000
RAM_BASE EQU 0x40000000
EXTMEM_BASE EQU 0x80000000
; External Memory Base Addresses
STA_MEM0_BASE EQU 0x80000000
STA_MEM1_BASE EQU 0x81000000
;---------- Stack and Heap Definitions ----------
;// <h> Stack Configuration (Stack Sizes in Bytes)
;// <o0> Undefined Mode <0x0-0xFFFFFFFF:8>
;// <o1> Supervisor Mode <0x0-0xFFFFFFFF:8>
;// <o2> Abort Mode <0x0-0xFFFFFFFF:8>
;// <o3> Fast Interrupt Mode <0x0-0xFFFFFFFF:8>
;// <o4> Interrupt Mode <0x0-0xFFFFFFFF:8>
;// <o5> User/System Mode <0x0-0xFFFFFFFF:8>
;// </h>
UND_Stack_Size EQU 0x00000000
SVC_Stack_Size EQU 0x00000008
ABT_Stack_Size EQU 0x00000000
FIQ_Stack_Size EQU 0x00000000
IRQ_Stack_Size EQU 0x00000100
USR_Stack_Size EQU 0x00000400
ISR_Stack_Size EQU (UND_Stack_Size + SVC_Stack_Size + ABT_Stack_Size + \
FIQ_Stack_Size + IRQ_Stack_Size)
AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE USR_Stack_Size
__initial_sp SPACE ISR_Stack_Size
Stack_Top
;// <h> Heap Configuration
;// <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF>
;// </h>
Heap_Size EQU 0x00000000
AREA HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem SPACE Heap_Size
__heap_limit
;---------- System Control Block (SCB) Module Definitions ---------
SCB_BASE EQU 0xE01FC000 ; SCB Base Address
PLLCON_OFS EQU 0x80 ; PLL Control Offset
PLLCFG_OFS EQU 0x84 ; PLL Configuration Offset
PLLSTAT_OFS EQU 0x88 ; PLL Status Offset
PLLFEED_OFS EQU 0x8C ; PLL Feed Offset
CCLKCFG_OFS EQU 0x104 ; CPU Clock Divider Reg Offset
USBCLKCFG_OFS EQU 0x108 ; USB Clock Divider Reg Offset
CLKSRCSEL_OFS EQU 0x10C ; Clock Source Select Reg Offset
SCS_OFS EQU 0x1A0 ; System Control and Status Reg Offset
PCLKSEL0_OFS EQU 0x1A8 ; Peripheral Clock Select Reg 0 Offset
PCLKSEL1_OFS EQU 0x1AC ; Peripheral Clock Select Reg 1 Offset
PCON_OFS EQU 0x0C0 ; Power Mode Control Reg Offset
PCONP_OFS EQU 0x0C4 ; Power Control for Periphs Reg Offset
; Constants
OSCRANGE EQU (1<<4) ; Oscillator Range Select
OSCEN EQU (1<<5) ; Main oscillator Enable
OSCSTAT EQU (1<<6) ; Main Oscillator Status
PLLCON_PLLE EQU (1<<0) ; PLL Enable
PLLCON_PLLC EQU (1<<1) ; PLL Connect
PLLSTAT_M EQU (0x7FFF<<0) ; PLL M Value
PLLSTAT_N EQU (0xFF<<16) ; PLL N Value
PLLSTAT_PLOCK EQU (1<<26) ; PLL Lock Status
; Memory Mapping (when Interrupt Vectors are in RAM) ----------
MEMMAP EQU 0xE01FC040 ; Memory Mapping Control
IF :DEF:REMAP
LDR R0, =MEMMAP
IF :DEF:EXTMEM_MODE
MOV R1, #3
ELIF :DEF:RAM_MODE
MOV R1, #2
ELSE
MOV R1, #1
ENDIF
STR R1, [R0]
ENDIF
Вт окт 24, 2017 17:13:41
Вт окт 24, 2017 18:34:38
Ср окт 25, 2017 15:00:30
Чт ноя 02, 2017 13:43:09
#include <LPC23xx.h>
int main(void) {
FIO2DIR |= (1<<12);
CLKSRCSEL = 0x01;
while(1) {
FIO2SET |= (1<<12);
FIO2CLR |= (1<<12);
}
};
Чт ноя 02, 2017 19:13:56
Satyr писал(а):Зачем вам ARM7TDMI
while(1) {
FIO2SET |= (1<<12);
FIO2CLR |= (1<<12);
}
Чт ноя 02, 2017 19:32:58
Чт ноя 02, 2017 19:36:29
Чт ноя 02, 2017 19:43:31
dosikus писал(а):Мда, что ни нуб то первое что делает
Satyr писал(а):битбанговые алиасы на регистры в этом антикваре есть
Satyr писал(а):Не стоит думать, что ногой можно будет дрыгать с частотой ядра.
тактов за 5-7 ядра между записью от ядра и сменой состояния ноги - нормальный показатель.
Чт ноя 02, 2017 20:29:14
Чт ноя 02, 2017 21:34:21