27.10.2011, 21:43
|
#101
|
Временная регистрация
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Кстати по спящему режиму что? В примере про АЦП чувак проц не усыпляет, а хотелось бы попробовать и так! Это нужно задать прерывание на выполнение SLEEP после начала преобразования и по окончании выполнять WAKE? Или можно проще как-то? Если проще нельзя, то подскажите каким именно кодом прописывать эти SLEEP и WAKE?
|
|
|
|
27.10.2011, 21:57
|
#102
|
Частый гость
Регистрация: 07.03.2011
Сообщений: 38
Сказал спасибо: 1
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
|
Re: Отладочные платы для STM32
CMaxx22 -- тоните без меня...
Энтузазысту вроде вас обычно бессмысленно объяснять чем чревата очепятка в отдельных сферах человеческих жизней.
|
|
|
|
27.10.2011, 22:49
|
#103
|
Временная регистрация
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Эээ я тонуть не собираюсь Тем более с вами. Вы всмысле того, что когда я сделаю дайв-компьютер то он будет показывать так, что я непременно утону отравившись кислородом? Или это к тому, что я тону в пучине знаний о МК?
Короче с шумами на STM32 разобрался, самый длинноногий шумный вывод (после пляски с тактами и делителями/усреднителями он всё ещё играл на +-3 единицы, теперь на +-1. Нормальные входы теперь кажут чистые 12 бит. Это у меня получилось случайно, я просто вписал загадочную строку __WFI() перед калибровкой АЦП, думал что проц заснёт и всё так как __WFЕ() нигде не вводил, ан нет, быстродействие не снизилось, проц не заснул, а точность измерений выросла хорошо! Так что я изобрёл ещё один способ борьбы с шумами
|
|
|
|
28.10.2011, 12:47
|
#104
|
Временная регистрация
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Увеличил в 3 раза шрифты, в процедуре попиксельной прорисовки символа изменил место, где ставится точка так, что точек стало ставится не одна, а 9 (вокруг исходной) и увеличил расстояние между точками. Получился большой квадратичный шрифт Не айс и жрёт много ресурсов, но на фоне ничего это уже чтото...
|
|
|
|
07.11.2011, 16:37
|
#105
|
Временная регистрация
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Всё разбираюсь с 1-Wire... Впринципе по этому руководству http://chipenable.ru/index.php/progr...18b20-avr.html можно было бы сделать, но подключая библиотеки как там написано получаю 12 ошибок... Для начала что это за PORTD, PIND, DDRD ? Для STM32 такие команды не проходят. Чем эти значения можно заменить?
Цитата:
|
- задаем порт, к которому подключена 1-Wire шина
#define OWI_PORT PORTD //!‹ 1-Wire PORT Data register
#define OWI_PIN PIND //!‹ 1-Wire Input pin register
#define OWI_DDR DDRD //!‹ 1-Wire Data direction register
|
|
|
|
|
07.11.2011, 16:45
|
#106
|
Вид на жительство
Регистрация: 21.11.2009
Сообщений: 342
Сказал спасибо: 4
Сказали Спасибо 149 раз(а) в 66 сообщении(ях)
|
Re: Отладочные платы для STM32
Сообщение от CMaxx22
|
Для начала что это за PORTD, PIND, DDRD ?
|
регистры выхода/входа/направления порта ввода/вывода D
Сообщение от CMaxx22
|
Для STM32 такие команды не проходят. Чем эти значения можно заменить?
|
Bit-banding:
http://infocenter.arm.com/help/index.../Behcjiic.html
http://infocenter.arm.com/help/index...qs/ka4203.html
Но сначала нужно сконфигурировать GPIO - подать тактирование и настроить нужные выводы на ввод/вывод
Последний раз редактировалось qwerky; 07.11.2011 в 16:47.
|
|
|
|
07.11.2011, 17:18
|
#107
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Отладочные платы для STM32
CMaxx22, я вам даже готовый код давал. Ничего не понимаю. Вы либо не хотите понять, либо не пытаетесь.
https://kazus.ru/forums/showpost.php...9&postcount=73
Ну перепишу для вас процедуры через бит-банг:
Код:
|
#include "stm32_GPIO.h"
void PIN_ON(GPIO_TypeDef * GPIOx,u16 PINx)
{
GPIOx-›BSRR=PINx;
}
void PIN_OFF(GPIO_TypeDef * GPIOx,u16 PINx)
{
GPIOx-›BRR=PINx;
}
u8 PIN_IN(GPIO_TypeDef * GPIOx, u16 PINx)
{
if((GPIOx-›IDR&PINx)!=0)
{return 1;}
else
{return 0;}
}
void PIN_INV(GPIO_TypeDef * GPIOx, u16 PINx)
{
if(PIN_IN(GPIOx, PINx)!=0)
{PIN_OFF(GPIOx, PINx);}
else
{PIN_ON(GPIOx, PINx);}
} |
|
|
|
|
07.11.2011, 21:50
|
#108
|
Временная регистрация
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Я вернулся с отдыха (отбуха) на вахту и как бы продолжил с того места, где закончил Так что ничего не понял. Сейчас попробую ещё и поищу как можно использовать ваши советы.
|
|
|
|
08.11.2011, 11:35
|
#109
|
Временная регистрация
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Сообщение от Easyrider83
|
я вам даже готовый код давал.
|
Он был без комментов и я абсолютно не представлял что с ним делать. Буду разбираться. Там есть 6 файлов (1-Wire.c, 1-Wire.h, CRC.c, CRC.h, DS1822.c, DS1822.h) какие из них надо подключать (include) в main.c чтобы ошибок не было? Также в этих файлах вызываются delays который вы мне дали и ещё нужен gpio.h которого нигде нет. Один похожий есть в библиотеках для STM32 чтото вроде stm32f10xx_gpio.h надо на него поменять?
|
|
|
|
08.11.2011, 12:01
|
#110
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Отладочные платы для STM32
Сообщение от CMaxx22
|
Он был без комментов и я абсолютно не представлял что с ним делать.
|
Они там излишни. Код простой, как пять копеек.
Сообщение от CMaxx22
|
Там есть 6 файлов (1-Wire.c, 1-Wire.h, CRC.c, CRC.h, DS1822.c, DS1822.h)
|
1-Wire - процедуры работы с шиной 1-wire. Стыкует процедуры DS1822 с процедурами работы с портами. Для данного случая это те процедуры, что я вам дал.
Сообщение от CMaxx22
|
какие из них надо подключать (include) в main.c чтобы ошибок не было?
|
Только те, которые используете. Если работаете с файлом DS1822, то пишете #include "DS1822.h" - ссылка на header файл, где перечислены процедуры DS1822.c. Путь из DS1822 к 1-Wire прописан в DS1822.h.
Сообщение от CMaxx22
|
чтобы ошибок не было?
|
Кстати, каких ошибок? Может быть у вас файл типа переменных другой и u8, u16 и u32 для него ничего не значат?
Сообщение от CMaxx22
|
Также в этих файлах вызываются delays который вы мне дали и ещё нужен gpio.h которого нигде нет.
|
Ну фактически содержимое этого файла я вам выложил в предыдущем посте. Создайте gpio.c и gpio.h, в первом впишите эти процедуры, во второй перепишите их названия и подключите файл регистров. Понятно, что для работы порта он должен быть проинитиализирован. Т.е. сначала подключено тактирование, а затем правильно настроена конфигурация (вход, выход, подтяжка, альтернативная функция).
Сообщение от CMaxx22
|
Один похожий есть в библиотеках для STM32 чтото вроде stm32f10xx_gpio.h надо на него поменять?
|
Чем похожий? Это библиотечный файл. Он может вам понадобиться при инитиализации порта. Для этого у вас есть как минимум три пути:
1) Самый простой. Прицепить STM32_Init.c, сконфигурировать через его wizard все порты и другую переферию, файл main начать с вызова внешней процедуры из этого файла:
Дальше можете работать с переферией как вам будет угодно.
2) Использовать ваш библиотечный stm32f10xx_gpio.h, задекларировать структуру (лучше в отдельной процедуре, чтобы потом освободить память):
Код:
|
GPIO_InitTypeDef GPIO_InitStruct; //декларируем структуру
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx,ENABLE ); //подключаем тактирование
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_x; //ваш пин
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP; //настроить на выход
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOx, &GPIO_InitStruct); //GPIOx - название порта (GPIOA, GPIOB, GPIOC) |
3) Третий способ - прямая работа с регистрами. Открываете manual, ищите нужные вам регистры, и пишите в них значения. Все просто.
|
|
|
Сказали "Спасибо" Easyrider83
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:18.
|
|