так это у вас формат в sprintf ЗНАКОВЫЙ, небось, %d - угадал? напишите %u и будет без минусаdm211 писал(а):Ну на табло у меня минус показывает sprintf
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
так это у вас формат в sprintf ЗНАКОВЫЙ, небось, %d - угадал? напишите %u и будет без минусаdm211 писал(а):Ну на табло у меня минус показывает sprintf
так это у вас формат в sprintf ЗНАКОВЫЙ, небось, %d - угадал? напишите %u и будет без минусаdm211 писал(а):Ну на табло у меня минус показывает sprintf
Код: Выделить всё
if(x!=0) x--;
Код: Выделить всё
return (UART_RxHead != UART_RxTail);
Код: Выделить всё
uint8_t segments = digit < 10 ? _digit2segments[digit] : 0x00;
в переменную segments помещается значение _digit2segments[digit], если digit меньше 10, а если больше, то в segments помещается 0.Пока_без_кота писал(а):Что делает следующая строка ?
тернарный оператор ? (это сам оператор, а не вопрос в конце предложения)Пока_без_кота писал(а):какое ключевое слово гуглить, чтобы научиться понимать такие строки ?
strncmplevaclaus писал(а):Но как быть если нужно проверить строку из 16 символов?
Код: Выделить всё
///////////////////////////////////////
struct struct_1 {
uint8_t a;
uint8_t b;
uint8_t c;
}A;
ISR (INT0_vect)
{
function(&A);
}
int main(void)
{
}
//////////////////////////////////////////
//////////////////
include - file////
/////////////////
void function(struct struct_1 *A)
{
A->a+=1;
A->b+=1;
A->c+=1;
}
Код: Выделить всё
struct structКод: Выделить всё
// заголовочный файл main.h
#if !defined(__MAIN_H__)
#define __MAIN_H__
#include <stdint.h>
typedef struct{
uint8_t a;
uint8_t b;
uint8_t c;
} my_struct;
#endif
// файл main.c
#include "main.h"
#include "next.c"
static my struct A;
ISR(INT0_vect){
function(&A);
}
// файл next.h
#if !defined(__NEXT_H__)
#define __NEXT_H__
#include "main.h"
void function(my_struct *s);
#endif
// файл next.c
#include "next.h"
void function(my_struct *s){
s->a++;
s->b--;
s->c = s->a + s->b;
}исправилЗачем два раза? Имя структуры не может совпадать ключевым словом (struct - ключевое слово)
в maine я подключаю файл с расширением .h туда и передаю структуру для работы, в этом файле у меня функция function.вы инклюдите исходник, т.е. файл с расширением *.c? если так, то это плохая практика.
чем это чревато?да и как быть если оч надо....кстати, вызывать функции из других модулей в обработчике прерываний - тоже так себе идея...
не делайте такROMan2947 писал(а):файл с расширением .h туда и передаю структуру для работы, в этом файле у меня функция function
ничем страшным, кроме достаточно долгого вызова обработчика прерываний и расхода памяти на стек. в принципе, можно забить.ROMan2947 писал(а):чем это чревато?
у меня уже несколько библиотек написанных подобным образом,что удивительно, что они работают без нарекания...я бы дальше так и думал,что все так и должно быть...но мне одно не понятно почему они работают когда в *h. файлах должно быть только описание,а там у меня куча функции с текстом, которые и принимаю и возвращают данные, хоть и внешние....а со структурами не прокатило?не делайте так
Код: Выделить всё
struct struct_1 *