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

 
 
20 страниц V  « < 18 19 20  
Reply to this topicStart new topic
> STM32F103x, делимся впечатлениями
sonycman
сообщение Apr 22 2010, 17:55
Сообщение #286


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(_Макс @ Apr 22 2010, 13:13) *
Экспериментирую с GPIO и обнаружил, что GPIOB_ODR инициализируется вовсе не 0x0000, как написано в даташите, а значением 16. Откуда оно, ума не приложу.

Как откуда? А про JTAG забыли? На STM пины житага отнюдь не выделенные, а висят прямо на портах GPIO.
В данном случае - это подтяжка (пуллап) линии JTRST.

Можно отключить житаг через ремап, тогда этими пинами можно будет пользоваться в своё усмотрение.
Go to the top of the page
 
+Quote Post
_Макс
сообщение Apr 23 2010, 07:39
Сообщение #287


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



Цитата(sonycman @ Apr 22 2010, 21:10) *
В данном случае - это подтяжка (пуллап) линии JTRST.

Вы правы.
Go to the top of the page
 
+Quote Post
Karim
сообщение Apr 23 2010, 08:17
Сообщение #288


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-11-08
Из: Уфа
Пользователь №: 41 659



Позвольте вопрос по Z состоянию пина без подтяжек. У AVR с этим бардак. А про STM32F103x написано:
Ilkg Input leakage current (5) VSS ≤VIN ≤VDD Standard I/Os ±1 μA
5. Leakage could be higher than max. if negative current is injected on adjacent pins.
( Из STM32F103x6 STM32F103x8 STM32F103xB Performance line Preliminary Data)
Имеется ли информация по реальным утечкам в плюс и минус питания, или может он тоже генерит изнутри наружу?
В одном проекте контроллер с чистым Z попиново очень помог бы.
Спасибо.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Apr 23 2010, 13:01
Сообщение #289


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(Karim @ Apr 23 2010, 12:32) *
В одном проекте контроллер с чистым Z попиново очень помог бы.
Спасибо.

А как понять "с чистым Z"?
Совсем без тока утечки, или с постоянным током?
Go to the top of the page
 
+Quote Post
Karim
сообщение Apr 23 2010, 14:44
Сообщение #290


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-11-08
Из: Уфа
Пользователь №: 41 659



Как обычно- симметрично половины питания, другими словами утечка из пина в минус идентична утечке из плюса в пин, чтоб вольтметр подключенный к фиксированной половине питания и пину в Z состоянии показал 0 вольт. Т.е. честное ВЫСОКОИМПЕДАНСНОЕ.
Вроде про LPC1111 так как надо. но перед железномягкими телодвижениями в сторону новой платформы хотелось услышать мнение специалиста.
Прикрепленное изображение


Сообщение отредактировал zltigo - Apr 23 2010, 15:42
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 23 2010, 15:41
Сообщение #291


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Karim @ Apr 23 2010, 16:59) *
..хотелось услышать мнение специалиста.

Рассчитывая на определенность в поведении токов утечек Вы твердо стоите на пути изобретния дерьма. Вне зависимости от платформы.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Karim
сообщение Apr 24 2010, 04:07
Сообщение #292


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-11-08
Из: Уфа
Пользователь №: 41 659



Спасибо.
Другие мнения есть?
Кто проверял STM32F103x по Z состоянию, будте добры, отпишитесь.

Сообщение отредактировал Karim - Apr 24 2010, 04:18
Go to the top of the page
 
+Quote Post
Serj78
сообщение Jun 15 2010, 15:01
Сообщение #293


Знающий
****

Группа: Свой
Сообщений: 966
Регистрация: 27-05-06
Из: СПб
Пользователь №: 17 499



Отлаживаю проект "в железе" на STM32F103VИ (100пин корпус)

После первого включения проконтролировал общий ток, получил 110ма и успокоился, т.к есть еще 6 датчиков и они что-то жрут, а старая конструкция на 2-х мегах жрала на 15ма больше...

Отладка длится не первый день, я решил померять ток потребляемый при вычислениях с ацп - возрастает или нет.
нифига не намерял, но задумался что-то проц слегка теплый (градусов 40)- может что-то не так?

И сейчас дошло - ОН ВСЕ ВРЕМЯ РАБОТАЛ НА 144 МГц!! (кварц на отладочной плате был 8 Мгц, в живом железе на 16 Мгц, а множитель в PLL я переставить забыл. 07.gif )
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Oct 2 2010, 17:29
Сообщение #294


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



привет всем! тоже занялся проблемой SDIO на STM32F103VE.
1) Mass Storage работает хорошо, но только с картами емкостью до 8 Гб включительно. при 16 Гб карте получаю "Устройство УСБ не опознано" Может кто пробовал с 16Гб ? rolleyes.gif
2) FatFs тоже работает - но тут прикол еще хлеще - пожоду переполнение адресации при выполнении Disk_read. Выражается следующим образом: карта на 8Гб почти полностью заполнена, записывю на нее еще один файлик с ПК. Вставляю карту в проект, в проекте тупо поблочное копирование этого файлика в другой. Прогнал. карту снова в пк. В скопированном файлике содержимое другого файла!

В обоих проектах использую stm32_eval_sdio_sd.c из стандартного набора библиотек

Сообщение отредактировал Ivan Kuznetzov - Oct 2 2010, 17:33


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
anpaza
сообщение Jan 9 2015, 18:39
Сообщение #295





Группа: Участник
Сообщений: 10
Регистрация: 6-01-15
Из: Санкт-Петербург
Пользователь №: 84 431



Цитата(Ivan Kuznetzov @ Oct 2 2010, 17:29) *
привет всем! тоже занялся проблемой SDIO на STM32F103VE.
1) Mass Storage работает хорошо, но только с картами емкостью до 8 Гб включительно. при 16 Гб карте получаю "Устройство УСБ не опознано" Может кто пробовал с 16Гб ? rolleyes.gif

SD карточки до 4Гб используют один протокол, свыше 4Гб - другой.
Возможно, с этим как-то связано. Почему у Вас граница на 8ми - не знаю.
Go to the top of the page
 
+Quote Post
drifterrr
сообщение Jun 4 2017, 08:40
Сообщение #296





Группа: Новичок
Сообщений: 3
Регистрация: 4-06-17
Пользователь №: 97 476



Цитата(KRS @ Mar 11 2008, 16:38) *
Все еще мучаю STM32F103. Пока чип работает хорошо.
Кстати у него очень удобная реализация CAN - 2 fifo (что мне удобнее чем куча mailbox) и много довольно гибких фильтров.
И еще тут обнаружил что APB1 (на ней и CAN висит ) работает (по даташиту) максимум на 36 Mhz, т.к. я на это внимания не обратил у меня APB1 и CAN на ней работают на полной скорости 72 Mhz ( глюков не было), но скорость я конечно все равно понижу до 36.

Добрый день. Подскажите, пожалуйста, кто разобрался, как поменять пины, на которые выводится кан интерфейс? Мне нужно сделать это по ходу программы. То есть я подключил два Кан трансивера: на пины а11а12 и на в8в9. Стартую без ремапа, работаю с А. Затем делаю ремап и работаю с Б. А дальше сделать ремап с Б на А не выходит. Это вообще возможно?
Go to the top of the page
 
+Quote Post
x893
сообщение Jun 4 2017, 11:45
Сообщение #297


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



конечно возможно
Go to the top of the page
 
+Quote Post
drifterrr
сообщение Jun 5 2017, 15:43
Сообщение #298





Группа: Новичок
Сообщений: 3
Регистрация: 4-06-17
Пользователь №: 97 476



Цитата(x893 @ Jun 4 2017, 12:45) *
конечно возможно

В таком случае прошу помощи в поиске ошибок. Вероятно, в библиотеке. Прошу прощения, что код из среды ардуино.
CODE
#include <HardwareCAN.h>
//#include "changes.h"
/*
*
*/

#define T_DELAY 10
// Instanciation of CAN interface
HardwareCAN canBus(CAN1_BASE);
CanMsg msg;

void CAN_a_33_Setup(void)
{
CAN_STATUS Stat;
canBus.map(CAN_GPIO_PA11_PA12);
Stat = canBus.begin(CAN_SPEED_33, CAN_MODE_NORMAL);
canBus.filter(0, 0, 0);
canBus.set_irq_mode();
Stat = canBus.status();
if (Stat != CAN_OK)
{digitalWrite(PC13, LOW);
delay(10000);}
// /* Your own error processing here */ ; // Initialization failed
// delay(T_DELAY);
}

void CAN_b_95_Setup(void)
{
canBus.map(CAN_GPIO_PB8_PB9);
Stat = canBus.begin(CAN_SPEED_95, CAN_MODE_NORMAL);
canBus.filter(0, 0, 0);
canBus.set_irq_mode();
Stat = canBus.status();
if (Stat != CAN_OK)
{digitalWrite(PC13, LOW);
delay(10000);}
// /* Your own error processing here */; // Initialization failed
// delay(T_DELAY);
}


CAN_TX_MBX CANsend(CanMsg *pmsg)
{
CAN_TX_MBX mbx;

do
{
mbx = canBus.send(pmsg);
#ifdef USE_MULTITASK
vTaskDelay( 1 ); // Infinite loops are not multitasking-friendly
#endif
}
while(mbx == CAN_TX_NO_MBX); // Waiting outbound frames will eventually be sent, unless there is a CAN bus failure.
return mbx;
}

// Send message
// Prepare and send a frame containing some value
void SendCANmessage(long id=0x001, byte dlength=8, byte d0=0x00, byte d1=0x00, byte d2=0x00, byte d3=0x00, byte d4=0x00, byte d5=0x00, byte d6=0x00, byte d7=0x00)
{
// Initialize the message structure
// A CAN structure includes the following fields:
msg.IDE = CAN_ID_STD; // Indicates a standard identifier; CAN_ID_EXT would mean this frame uses an extended identifier
msg.RTR = CAN_RTR_DATA; // Indicated this is a data frame, as opposed to a remote frame (would then be CAN_RTR_REMOTE)
msg.ID = id; // Identifier of the frame : 0-2047 (0-0x3ff) for standard idenfiers; 0-0x1fffffff for extended identifiers
msg.DLC = dlength; // Number of data bytes to follow

// Prepare frame : send something
msg.Data[0] = d0;
msg.Data[1] = d1;
msg.Data[2] = d2;
msg.Data[3] = d3;
msg.Data[4] = d4;
msg.Data[5] = d5;
msg.Data[6] = d6;
msg.Data[7] = d7;

digitalWrite(PC13, LOW); // turn the onboard LED on
CANsend(&msg); // Send this frame
digitalWrite(PC13, HIGH); // turn the LED off
delay(T_DELAY);
}


// The application program starts here
byte msgD0 = 0x00;
void setup() { // Initialize the CAN module and prepare the message structures.
pinMode(PC13, OUTPUT);
digitalWrite(PC13, HIGH);
delay(10);
digitalWrite(PC13, LOW);
delay(1000);
digitalWrite(PC13, HIGH);
delay(1000);

}

void loop() {
CAN_a_33_Setup();
delay(T_DELAY);
SendCANmessage(0x100,1,msgD0);
delay(T_DELAY);
CAN_b_95_Setup();
delay(T_DELAY);
SendCANmessage(0x111,1,msgD0);
delay(T_DELAY);
msgD0++;
}

Ссылка на библилтеку (5 значимых файлов):


https://github.com/megadrifter/Arduino_STM3...HardwareCAN/src
И файл https://github.com/megadrifter/Arduino_STM3...e/series/gpio.h

Сообщение отредактировал IgorKossak - Jun 19 2017, 09:57
Причина редактирования: [codebox] для длинного кода. [code]-для короткого!!!
Go to the top of the page
 
+Quote Post
drifterrr
сообщение Jun 7 2017, 21:47
Сообщение #299





Группа: Новичок
Сообщений: 3
Регистрация: 4-06-17
Пользователь №: 97 476



Ответ:
afio_init();
Go to the top of the page
 
+Quote Post

20 страниц V  « < 18 19 20
Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


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


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