Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


Результаты опроса: Запуск "на коленке" часть 2. Что дальше будем обсмакивать?
RTC (часы реального времени) 119 11.41%
USB 540 51.77%
Базовые навыки работы с портами ввода-вывода 247 23.68%
АЦП 108 10.35%
ЦАП 29 2.78%
Голосовавшие: 1043. Вы ещё не голосовали в этом опросе

 
Опции темы
Непрочитано 14.12.2010, 07:47  
Dmitry_Migathev
Частый гость
 
Регистрация: 26.03.2009
Сообщений: 27
Сказал спасибо: 1
Сказали Спасибо 9 раз(а) в 7 сообщении(ях)
Dmitry_Migathev на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от thebadtouch Посмотреть сообщение
здравствуйте,начал изучать мк АРМ,на практике мне заказали плату DK-LM3s9b96,вот начал ее изучать и сразу столкнулся с проблемой
загружаю пример-программу blinky,все естесвенно работает
Код:
#include "inc/lm3s9b96.h"

main(void)
{
    volatile unsigned long ulLoop;

    

    // Enable the GPIO port that is used for the on-board LED.

	SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOF;

    // Do a dummy read to insert a few cycles after enabling the peripheral.
    //
	ulLoop = SYSCTL_RCGC2_R;
    //
    // Enable the GPIO pin for the LED (PF3).  Set the direction as output, and
    // enable the GPIO pin for digital function.
    //
    GPIO_PORTF_DIR_R = 0x08;
    GPIO_PORTF_DEN_R = 0x08;

    while(1)

	 {

		GPIO_PORTF_DATA_R |= 0x08;
        for(ulLoop = 0; ulLoop ‹ 200000; ulLoop++);		
		GPIO_PORTF_DATA_R &= ~(0x08);
        for(ulLoop = 0; ulLoop ‹ 200000; ulLoop++);
			  
	 }
    
}
на плате есть кнопка USER SWITCH (подключена на порт J пин 7)
я хочу переделать программу чтобы на плате включался светодиод по нажатию этой кнопки,а если она не нажата то он и не горел
и проблема в том что когда я только настраиваю порты программа перестает работать
вот что получилось с настройкой потра J
Код:
main(void)
{
    volatile unsigned long ulLoop;
    
	SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOF;
	ulLoop = SYSCTL_RCGC2_R;

// 	vkluchaem GPIO port dlya User Switch
    SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOJ ;
	 ulLoop = SYSCTL_RCGC2_R;
    // Enable the GPIO pin for the LED (PF3).  Set the direction as output, and
    // enable the GPIO pin for digital function.
    GPIO_PORTF_DIR_R = 0x08;
    GPIO_PORTF_DEN_R = 0x08;

	GPIO_PORTJ_DIR_R = 0x00;
	GPIO_PORTJ_DEN_R = 0x80;
	GPIO_PORTJ_AFSEL_R = 0x00;
	GPIO_PORTJ_ODR_R = 0x00;

    while(1)

	 {
	 	 
		GPIO_PORTF_DATA_R |= 0x08;
        for(ulLoop = 0; ulLoop ‹ 200000; ulLoop++);		
		GPIO_PORTF_DATA_R &= ~(0x08);
        for(ulLoop = 0; ulLoop ‹ 200000; ulLoop++);	  
	 }
    
}
естесвенно компилятор ошибок не выдает
я еще мало чего понимаю,но помогите мне пожалуйста
Добрый день
попробую помочь, хотя я сам изучил свой лиминари только процентов на 10-15
Значит пойдем по порядку:
1) Открываем F SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOF; у вас это есть
2) Далее открываем J, вроде я думаю надо так: SYSCTL_RCGC2_R |= SYSCTL_RCGC2_GPIOJ ;

попробуйте так
дальше посмотрим
Реклама:
Dmitry_Migathev вне форума  
Непрочитано 14.12.2010, 11:19  
thebadtouch
Частый гость
 
Регистрация: 21.09.2010
Сообщений: 22
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
thebadtouch на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

to Dmitry_Migathev
спасибо это помогло

а теперь еще вопрос как считывать значение не со всего порта
а только с 7-ого пина ибо когда я пишу
Код:
if (GPIO_PORTJ_DATA_R &= ~(0x80))
и нажимаю кнопку ничего не происходит
думаю потому что в остальных пинах порта J творится чтото мне неизвестное
код целиком выглядит так
Код:
#include "inc/lm3s9b96.h"
void wait()
{
  int d;
  for (d = 0; d ‹ 1000000; d++)
  {
  }
}

main(void)
{
    volatile unsigned long ulLoop;

    //
    // Enable the GPIO port that is used for the on-board LED.
    //
    
	SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOF;
   
    //
    // Do a dummy read to insert a few cycles after enabling the peripheral.
    //
	 ulLoop = SYSCTL_RCGC2_R;
    //
    // Enable the GPIO pin for the LED (PF3).  Set the direction as output, and
    // enable the GPIO pin for digital function.
    //
    GPIO_PORTF_DIR_R = 0x08;
    GPIO_PORTF_DEN_R = 0x08;
    GPIO_PORTF_AFSEL_R = 0x00;
    GPIO_PORTF_ODR_R = 0x00;
    //
    // 	vkluchaem GPIO port dlya User Switch
    //
	SYSCTL_RCGC2_R |= SYSCTL_RCGC2_GPIOJ ;
	ulLoop = SYSCTL_RCGC2_R;

	GPIO_PORTJ_DIR_R = 0x00;
	GPIO_PORTJ_DEN_R = 0x80;
	GPIO_PORTJ_AFSEL_R = 0x00;
	GPIO_PORTJ_ODR_R = 0x00;
	//GPIO_PCTL_PJ7_U1DTR = 0x00;
   
    while(1)

	 {
	 	 
	 	if (GPIO_PORTJ_DATA_R &= ~(0x80))   			 
//	esli najat to budet goret       
           {												

		GPIO_PORTF_DATA_R |= 0x08;						 
        												 
	  		 
        for(ulLoop = 0; ulLoop ‹ 8000000; ulLoop++);	 
           }												
		
		
else	 										 
//  esli net to	migat	
{	 											 
														  
	GPIO_PORTF_DATA_R |= 0x08;					   	 
        												  
	  	 										  
        for(ulLoop = 0; ulLoop ‹ 800000; ulLoop++);	      	
														  
		GPIO_PORTF_DATA_R &= ~(0x08);					  
										  
        for(ulLoop = 0; ulLoop ‹ 800000; ulLoop++);	      
		  
	 	}
	 }
    
}
thebadtouch вне форума  
Непрочитано 14.12.2010, 11:44  
thebadtouch
Частый гость
 
Регистрация: 21.09.2010
Сообщений: 22
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
thebadtouch на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

блин не то писал
думаю должно было выглядеть вот так
Код:
if (GPIO_PORTJ_DATA_R & (0x80))
но приходится долго нажимать на кнопку чтобы она сработала

added карчое с этим я разобрался,с задержками была проблема
теперь буду разбираться с АЦП
ну и еще вопрос почему нужна была эта палка встроке при активации порта J
Код:
SYSCTL_RCGC2_R |= SYSCTL_RCGC2_GPIOJ ;
и почему она не была нужна для порта F?

Последний раз редактировалось thebadtouch; 14.12.2010 в 13:23.
thebadtouch вне форума  
Непрочитано 14.12.2010, 11:57  
yagorik
Прохожий
 
Регистрация: 30.09.2010
Сообщений: 4
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
yagorik на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Может кто сталкивался с декодированием кода Манчестера и кода Миллера на ARM7, а именно lpc2148 или вообще с декодированием этих кодов
yagorik вне форума  
Непрочитано 14.12.2010, 20:56  
espectr0
Временная регистрация
 
Регистрация: 26.09.2009
Сообщений: 81
Сказал спасибо: 4
Сказали Спасибо 16 раз(а) в 13 сообщении(ях)
espectr0 на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от thebadtouch Посмотреть сообщение
ну и еще вопрос почему нужна была эта палка встроке при активации порта J
Код:
SYSCTL_RCGC2_R |= SYSCTL_RCGC2_GPIOJ ;
и почему она не была нужна для порта F?
Про эту "палку" написано в любом учебнике по C. Причем это азы!
espectr0 вне форума  
Непрочитано 17.12.2010, 21:07  
thebadtouch
Частый гость
 
Регистрация: 21.09.2010
Сообщений: 22
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
thebadtouch на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от espectr0 Посмотреть сообщение
Про эту "палку" написано в любом учебнике по C. Причем это азы!
очень помог,спасибо
thebadtouch вне форума  
Непрочитано 17.12.2010, 23:04  
v2010
Прохожий
 
Регистрация: 24.05.2010
Сообщений: 3
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
v2010 на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Отладочная плата на AT91SAM7S128. http://www.kosmodrom.com.ua/razrabotka/91sam7s64_db.php
Проект полностью на ассемблере типа "Hello World" - мигание светодиодов, может кому пригодится для быстрого старта на асме

PS: интерсно, что никто не интересуется асмом, программирую только на нем и считаю - лучшим языком для профи есть Asembler, конечно, нужно знать и коверканные языки асма - типа СИ и пр. Не против СИ - но программирую на Pascal. Мое глубокое ИМХО
Миниатюры:
Нажмите на изображение для увеличения
Название: ПЛАТА_.JPG
Просмотров: 138
Размер:	160.2 Кб
ID:	15899  
Вложения:
Тип файла: rar BIN.rar (69.0 Кб, 59 просмотров)

Последний раз редактировалось v2010; 19.12.2010 в 19:43.
v2010 вне форума  
Сказали "Спасибо" v2010
GremLine (27.12.2010)
Непрочитано 21.12.2010, 14:17  
PlainUser
Прописка
 
Регистрация: 09.12.2003
Сообщений: 116
Сказал спасибо: 5
Сказали Спасибо 23 раз(а) в 19 сообщении(ях)
PlainUser на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от v2010 Посмотреть сообщение
Отладочная плата на AT91SAM7S128. http://www.kosmodrom.com.ua/razrabotka/91sam7s64_db.php
Проект полностью на ассемблере типа "Hello World" - мигание светодиодов, может кому пригодится для быстрого старта на асме

PS: интерсно, что никто не интересуется асмом, программирую только на нем и считаю - лучшим языком для профи есть Asembler, конечно, нужно знать и коверканные языки асма - типа СИ и пр. Не против СИ - но программирую на Pascal. Мое глубокое ИМХО
Почему не интересуется.В нужное время и в нужном месте очень даже.
Понадобиолсь мне дрыгать ножкой LPC2142 с частотой 20мгц.С помощью асма и какойто матери удалось решить эту задачу считающуюся нереальной.
А обычно пишу на "С" , это промышленный стандарт.Даже всю работу с железом практически только на нем.Вот уже лет 15 как.Библиотеки экземплы , оппоненты в конце концов все на нем.Паскаль решает те-же задачи но с ним как-то одиноко.Да и где компиляторов под него набрать на все процы что приходится использовать.
PlainUser вне форума  
Непрочитано 21.12.2010, 14:22  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от PlainUser Посмотреть сообщение
Понадобиолсь мне дрыгать ножкой LPC2142 с частотой 20мгц.С помощью асма и какойто матери удалось решить эту задачу считающуюся нереальной.
Она и есть - нереальная. Хоть на асме, хоть на чем. Вывод в порт - 2 такта. Итого на период 2+2=4 такта. Такт 2142 - 60МГц. Максимальная частота, достижимая программно - 15МГц, а вовсе не 20. Для 20 нужно разогнать процессор и функции махания ножками перенести в ОЗУ. Но это уже совсем не асм
kison вне форума  
Непрочитано 22.12.2010, 12:26  
PlainUser
Прописка
 
Регистрация: 09.12.2003
Сообщений: 116
Сказал спасибо: 5
Сказали Спасибо 23 раз(а) в 19 сообщении(ях)
PlainUser на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от kison Посмотреть сообщение
Она и есть - нереальная. Хоть на асме, хоть на чем. Вывод в порт - 2 такта. Итого на период 2+2=4 такта. Такт 2142 - 60МГц. Максимальная частота, достижимая программно - 15МГц, а вовсе не 20. Для 20 нужно разогнать процессор и функции махания ножками перенести в ОЗУ. Но это уже совсем не асм
Приятно иметь дело с понимающими людьми.
Дрыгать ножкой более широкое понятие чем вывод в порт.Собственно задача была быстро запускать и читать 8бит ацп для сбора данных.
20MSPS.И затем порциями сливать по усб.
Разогнать конечно маленько пришлось, до 72Мгц.Пробовал и больше иногда работало.
PlainUser вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 07:38.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot