реклама на сайте
подробности

 
 
> AT91sam7S128 UART для Keil, Как реализовать прерывание для UART в Keil.
Cezar
сообщение Apr 20 2011, 19:13
Сообщение #1





Группа: Новичок
Сообщений: 9
Регистрация: 12-05-08
Из: Феодосия
Пользователь №: 37 452



Приветствую. С ARM столкнулся 1 раз и как что плохо представлю.
И так задача на один UART принимать не какие, данных их обрабатывать и передавать на 2 UART.
Принимать данные на 1 по прерыванию. И вот тут и возникла проблема. Как это реализовать? Перебрал куча вариантов не один из них нормально не работает. Прерывание не возникает. Под IAR вроде как надо правильно прописать в Startup.c работу с прерываниями и разрешение глобального. А как это сделать в Keil?. Если есть возможность выложите пример для работы с прерыванием UART под Keil. Мои поиски в нэти и в examplax ни к чему не привели.

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Cezar
сообщение Apr 24 2011, 18:45
Сообщение #2





Группа: Новичок
Сообщений: 9
Регистрация: 12-05-08
Из: Феодосия
Пользователь №: 37 452



Теперь у меня по срабатыванию прерывания программа улетает в неизвестные адреса

Код
0x00000018  00000000  ANDEQ     R0,R0,R0


Вообще в пример есть обработка прерывания от кнопки и там по-мимо стандартного стартап добалет файл
irq.s с таким кодом.

Код
;/*****************************************************************************/
;/* IRQ0.S: IRQ 0 Nested Interrupt                                            */
;/*****************************************************************************/
;/* This file is part of the uVision/ARM development tools.                   */
;/* Copyright (c) 2005-2006 Keil Software. All rights reserved.               */
;/* This software may only be used under the terms of a valid, current,       */
;/* end user licence from KEIL for a compatible version of KEIL software      */
;/* development tools. Nothing else gives you the right to use this software. */
;/*****************************************************************************/

                AREA    IRQ0, CODE, READONLY
                ARM

                PRESERVE8
                ALIGN
                IMPORT  irq0_nint
                EXPORT  irq0_int
irq0_int        FUNCTION

                SUB     LR, LR, #4        ; Update Link Register
                STMFD   SP!, {R0-R12, LR}    ; Save Workspace & LR to Stack
                MRS     R0, SPSR             ; Copy SPSR to R0
                STMFD   SP!, {R0, R1}        ; Save SPSR to Stack (8-byte)
                MSR     CPSR_c, #0x1F        ; Enable IRQ (Sys Mode)
                STMFD   SP!, {R0, LR}        ; Save LR_sys to Stack (8-byte)
                LDR     R0, =irq0_nint    ; Get IRQ Function Address
                MOV     LR, PC            ; Return Address
                BX      R0                ; Call IRQ Function
                LDMFD   SP!, {R0, LR}        ; Restore LR_sys
                MSR     CPSR_c, #0x92        ; Disable IRQ (IRQ Mode)
                LDMFD   SP!, {R0, R1}        ; Restore SPSR to R0
                MSR     SPSR_cxsf, R0        ; Copy R0 to SPSR
                LDMFD   SP!, {R0-R12, PC}^; Return to program

                ENDFUNC

                END


не стоит ли и мне что-то в этом роде под уарт написать и если да то что.

Сообщение отредактировал Cezar - Apr 24 2011, 18:49
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Cezar   AT91sam7S128 UART для Keil   Apr 20 2011, 19:13
- - kovigor   Цитата(Cezar @ Apr 20 2011, 23:13) Мои по...   Apr 20 2011, 19:37
|- - Cezar   Цитата(kovigor @ Apr 20 2011, 22:37) Завт...   Apr 20 2011, 21:46
- - aaarrr   Цитата(Cezar @ Apr 20 2011, 23:13) Мои по...   Apr 20 2011, 20:06
|- - kovigor   Цитата(aaarrr @ Apr 20 2011, 23:06) Вылож...   Apr 20 2011, 20:25
|- - aaarrr   Цитата(kovigor @ Apr 21 2011, 00:25) Эта ...   Apr 20 2011, 20:45
|- - kovigor   Цитата(aaarrr @ Apr 20 2011, 23:45) В том...   Apr 20 2011, 20:54
|- - aaarrr   Цитата(kovigor @ Apr 21 2011, 00:54) Все-...   Apr 20 2011, 21:00
- - Cezar   И так мой код Startup взят дефлотный который кеил...   Apr 22 2011, 07:32
- - aaarrr   Как минимум Код__irq void Usart0IrqHandler(voi...   Apr 22 2011, 08:28
|- - Cezar   Цитата(aaarrr @ Apr 22 2011, 11:28) Как м...   Apr 22 2011, 10:15
||- - aaarrr   Цитата(Cezar @ Apr 22 2011, 14:15) таким ...   Apr 22 2011, 10:22
|- - Cezar   Цитата(aaarrr @ Apr 22 2011, 11:28) ... П...   Apr 22 2011, 11:09
|- - aaarrr   Цитата(Cezar @ Apr 22 2011, 15:09) Это в ...   Apr 22 2011, 11:10
|- - Cezar   Цитата(aaarrr @ Apr 22 2011, 14:10) В кон...   Apr 22 2011, 11:14
|- - aaarrr   Цитата(Cezar @ Apr 22 2011, 15:14) Может ...   Apr 22 2011, 11:19
|- - Cezar   Цитата(aaarrr @ Apr 22 2011, 14:19) Данно...   Apr 22 2011, 11:26
|- - aaarrr   Цитата(Cezar @ Apr 22 2011, 15:26) Или пр...   Apr 22 2011, 11:47
- - aaarrr   Цитата(Cezar @ Apr 24 2011, 22:45) Теперь...   Apr 25 2011, 08:45
- - Cezar   Цитата(aaarrr @ Apr 25 2011, 11:45) Вообщ...   Apr 25 2011, 10:41


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 23:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01377 секунд с 7
ELECTRONIX ©2004-2016