Size: a a a

Maxwell's Demons

2021 February 06

P

Peter in Maxwell's Demons
Roman Storozhenko
В ф-и delay нет информационной нагрузки, поэтому при включённой оптимизации она выбрасывается.
Не забывай что Си это не асм. Программа это вычисление чего либо.
Чтобы компилятор не выбрасывал задержку нужно это запретить или обмануть компилятор.
Один из способов это объявить счётчик как volatile, что будет запрещать использовать некоторые оптимизации.
Второй способ это вставить в цикл ассемблерную команду nop:
for(...){
__NOP(); // эквивалентно asm(“NOP”);
}
Я так, собственно, и предполагал, что это козни компилятора, но делал-то я по аналогии с видео, ранее упомянутом, а там у Ильи такой код работал. Может оптимизация стала злее за пару лет))
источник

RS

Roman Storozhenko in Maxwell's Demons
Peter
Я так, собственно, и предполагал, что это козни компилятора, но делал-то я по аналогии с видео, ранее упомянутом, а там у Ильи такой код работал. Может оптимизация стала злее за пару лет))
Это не козни компилятор а ошибка в коде.
Компиляторы постепенно переписывают исправляя баги и пропиливая фичи. Возможно новый компилятор работает немного иначе старого.
источник

P

Peter in Maxwell's Demons
Roman Storozhenko
Это не козни компилятор а ошибка в коде.
Компиляторы постепенно переписывают исправляя баги и пропиливая фичи. Возможно новый компилятор работает немного иначе старого.
) ок, спасибо
источник

P

Peter in Maxwell's Demons
так, добрался до платы с намерением попробовать volatile, но опять облом, чуть с другой стороны - после загрузки прошивки теперь плата вообще никаких признаков жизни не подает. Загрузил вот такой код простейший -
#include "stm32f334x8.h"
int main(void){
 RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
 GPIOA->MODER |= GPIO_MODER_MODER5_0;
 GPIOA->OTYPER &= ~GPIO_OTYPER_OT_5;
 GPIOA->OSPEEDR &= ~GPIO_OSPEEDER_OSPEEDR5_0;
 GPIOA->BSRR |= GPIO_BSRR_BS_5;
 
 while (1){
   
 }
}
типа должен led просто засветиться - и хрена, не светится. При этом, через отладчик, опять же, все норм, светодиод зажигается😕 Что за напасть?
источник

TT

Troyanski Tonto in Maxwell's Demons
Переслано от Troyanski Tonto
Товарищи, что лучше, осциллограф цифровой(нонейм, нет мануала, нет щупов) 150 мгц,4 канала, 100 мегасэмплов.
Либо же аналог 100 мгц 2 канала, полный комплект
Анонимный опрос
51%
Аналог
49%
Цифра
Проголосовало: 220
источник

TT

Troyanski Tonto in Maxwell's Demons
Переслано от Troyanski Tonto
источник

TT

Troyanski Tonto in Maxwell's Demons
Переслано от Troyanski Tonto
источник

TT

Troyanski Tonto in Maxwell's Demons
Я знаю, что для таких вещей есть флудилка, но мне нужно больше мнений, пожалуй
источник

jp

jon pedro in Maxwell's Demons
Roman Storozhenko
В ф-и delay нет информационной нагрузки, поэтому при включённой оптимизации она выбрасывается.
Не забывай что Си это не асм. Программа это вычисление чего либо.
Чтобы компилятор не выбрасывал задержку нужно это запретить или обмануть компилятор.
Один из способов это объявить счётчик как volatile, что будет запрещать использовать некоторые оптимизации.
Второй способ это вставить в цикл ассемблерную команду nop:
for(...){
__NOP(); // эквивалентно asm(“NOP”);
}
Хех, ах вот для чего эта асм команда)
источник

RS

Roman Storozhenko in Maxwell's Demons
Peter
так, добрался до платы с намерением попробовать volatile, но опять облом, чуть с другой стороны - после загрузки прошивки теперь плата вообще никаких признаков жизни не подает. Загрузил вот такой код простейший -
#include "stm32f334x8.h"
int main(void){
 RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
 GPIOA->MODER |= GPIO_MODER_MODER5_0;
 GPIOA->OTYPER &= ~GPIO_OTYPER_OT_5;
 GPIOA->OSPEEDR &= ~GPIO_OSPEEDER_OSPEEDR5_0;
 GPIOA->BSRR |= GPIO_BSRR_BS_5;
 
 while (1){
   
 }
}
типа должен led просто засветиться - и хрена, не светится. При этом, через отладчик, опять же, все норм, светодиод зажигается😕 Что за напасть?
В сраном кейсе стоит чекбокс «load to RAM”
источник

RS

Roman Storozhenko in Maxwell's Demons
Troyanski Tonto
Переслано от Troyanski Tonto
Товарищи, что лучше, осциллограф цифровой(нонейм, нет мануала, нет щупов) 150 мгц,4 канала, 100 мегасэмплов.
Либо же аналог 100 мгц 2 канала, полный комплект
Анонимный опрос
51%
Аналог
49%
Цифра
Проголосовало: 220
Для какого применения?
источник

TT

Troyanski Tonto in Maxwell's Demons
Roman Storozhenko
Для какого применения?
Для работы с сигналами шим/драйверами/ сравнение сигналов в вч усилителях мощности, ремонта различной старой техники.
источник

TT

Troyanski Tonto in Maxwell's Demons
Но это так, если обобщить
источник

A

Al in Maxwell's Demons
что за глупый вопрос?
частота выше, количество каналов бошьше. очевидно же.
источник

A

Al in Maxwell's Demons
если речь про осцил
источник

A

Al in Maxwell's Demons
а щупы стоят 500р штука на алике. тоже мне проблема
источник

TT

Troyanski Tonto in Maxwell's Demons
Al
что за глупый вопрос?
частота выше, количество каналов бошьше. очевидно же.
А 100 мегасэмплов не смущают?
источник

RS

Roman Storozhenko in Maxwell's Demons
Если цена одинаковая то я бы купил Филипс. Как минимум это не кусок непонятного.
источник

TT

Troyanski Tonto in Maxwell's Demons
Roman Storozhenko
Если цена одинаковая то я бы купил Филипс. Как минимум это не кусок непонятного.
Филлипс дешевле, 60 евро, плюс еще простенький лбп и генератор частоты
источник

TT

Troyanski Tonto in Maxwell's Demons
Цифровой 85, включая доставку
источник