Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
SWCLK на плате и в отладчике куда притянут?kvn234 писал(а):не получалось пока не очистил nBOOT_SEL
RM0454 от STM с вашим утверждением не согласна. По её мнению, значение бита nBOOT_SEL не_влияет на источник загрузки. Кто врёт?kvn234 писал(а):загрузчик может быть больше недоступен через вывод BOOT0 (или кнопку BOOT). В таких случаях бит nBOOT_SEL в байтах пользовательских опций должен быть очищен (установлен в 0) с помощью программатора SWD
Код: Выделить всё
asm volatile ("nop");
asm volatile(".rept 1\n"
"nop\n"
".endr\n");
asm volatile(".rept %c0\n"
"nop\n"
".endr\n" :: "I"(1));Код: Выделить всё
asm volatile("nop" ::: "memory")Код: Выделить всё
asm volatile ("mov r5,r5"); // есть memory barrier
asm volatile ("mov r5,r5" :::); // нет memory barrier
Код: Выделить всё
static_assert(sizeof(int) == 4, std::format("Expected 4, got {}", sizeof(int)));Код: Выделить всё
template<typename T, uint32_t N>
class StaticString
{
public:
consteval StaticString(const T(&str)[N])
{
std::copy_n(str, N, arr_);
}
template <uint32_t N1, uint32_t N2> requires (N1 + N2 - 1 == N)
consteval StaticString(const StaticString<T, N1>& s1, const StaticString<T, N2>& s2)
{
std::copy_n(s1.data(), N1, arr_);
std::copy_n(s2.data(), N2, arr_ + N1 - 1);
}
constexpr auto data() const { return arr_; }
consteval operator T const* () const { return arr_; }
static consteval uint32_t size() { return N - 1; }
T arr_[N];
};
template <typename T, uint32_t N1, uint32_t N2>
consteval auto operator+(const StaticString<T, N1>& s1, const StaticString<T, N2>& s2)
{
return StaticString<T, N1 + N2 - 1>(s1, s2);
}
template <typename T, uint32_t N1, uint32_t N2>
consteval auto operator+(const StaticString<T, N1>& s1, const T(&s2)[N2])
{
return StaticString<T, N1 + N2 - 1>(s1, StaticString<T, N2>(s2));
}
template<StaticString Str>
consteval auto operator"" _ss() { return Str; }
static_assert(false, "Hello "_ss + "World!");Код: Выделить всё
static_assert(false, ctformat("{}, {.^7}, {b}, {}, {#08x}", "Hello", 'A', 'A', -123, 0xABCD));Искать среди китайских F103 оригинальный чип от STM сродни поиску девственницы в борделе, посему не ищите логику в работе там, где её изначально быть не может.veso74 писал(а):А в китайские F103 вместе с изменением по температуры происходят изменения "по цикламм".
Ну не делают китайСы аналогов этих чипов, довольствуясь браком от STM, поэтому и результаты ожидаемы. Это правильные чипы, хоть и не соответствующие критериям качества STM.veso74 писал(а):На китайские F401, F411 "скачки" на MCO нет