Ещё вчера и я долдычил про itoa, даже ссылку на википедию дал
Ещё вчера и я долдычил про itoa, даже ссылку на википедию дал
вообще можно проще и короче.Так что даже так использовать её выгодней...
Код: Выделить всё
unsigned char func(unsigned char x){
switch (x)
{
case 0:
return '0';
break;
case 1:
return '1';
break;
case 3:
return '3';
break;
case 4:
return '4';
break;
case 5:
return '5';
break;
case 6:
return '6';
break;
case 7:
return '7';
break;
case 8:
return '8';
break;
case 9:
return '9';
break;
}
}
temp=code;
AA[0]=func(temp / 100);
AB[0]=func(temp /10);
AC[0]=func(temp);
Код: Выделить всё
temp=code;
AA[0]=func(temp / 100);
AB[0]=func(temp /10);
AC[0]=func(temp);Код: Выделить всё
+ '0'Код: Выделить всё
char dArr[4];
//----------------------------------
void fn_CharToStr(unsigned char cChar)
{
const flash unsigned char cStep[3]={100,10,1};
unsigned char i,atemp;//
unsigned char val,temp;//
val=cChar;//
for (i=0; i<3; i++)//
{
temp=cStep[i];
atemp=0;//
while(val >= temp)//
{
atemp++;//
val-=temp;//
}
dArr[i]=atemp+0x30;
}
dArr[i]=0;// формируем завершающий нуль
}
//------------------------------------
Какой именно помощи Вы ожидаете? Здесь обсуждаются методы и приемы программирования на языке С. Что именно не получается?Михаил Л писал(а):Здравствуйте, тут был вынужден заняться написанием кода с помощью языка С(в программе IAR) для подключения Ацп ADS1274 к микроконтроллеру STM32F103C6T6A LQFP48 с ядром ARM Cortex M3.
наверное у меня специальный Яндекс - по фразе "примеры кода для stm32f100" почему-то 3 миллиона ссылокМихаил Л писал(а):...начал искать то, что может мне помочь в написании программы, но пока что нашёл только пару статей по теме только для микроконтроллеров AVR.
В том то и дело, что у меня компилятор ругается когда я делаю присоединение flash и flash ... По этой же причине пришлось отказаться от itoa.... Не хочет компиль выводить такие данные на LCD...urry писал(а):const flash unsigned char cStep[3]={100,10,1};
И чем ваши строчки отличны от моих?Совесть писал(а):вы бы тоже туда заглянули.
1. Работать ваше произведение не будет. Хотя нет, будет конечно, но вот как...Код: Выделить всё
temp=code; AA[0]=func(temp / 100); AB[0]=func(temp /10); AC[0]=func(temp);
Да вот я тоже не знаю, че человек паритсяСовесть писал(а): 2. Зачем вообще нужна эта функция? ее вполне заменитКод: Выделить всё
+ '0'
Не обманывайте себя, поиск ищет как логическое или "для stm32f100" и всего три тысячи результатов.ChipKiller писал(а):по фразе "примеры кода для stm32f100" почему-то 3 миллиона ссылок
Код: Выделить всё
#include <mega8.h>
#include <lcd.h>
#include <stdio.h>
#include <io.h>
#include <delay.h>
#include <string.h>
#asm
.equ __lcd_port=0x12; PORTD
#endasm
char flash *lcdA = "erye";
char lcd_buf[10] = "RAZMER = ";
char RAZMER[5] = "rrrr";
int code = 2;
int pozicia = 0;
void main( void ) {
if (pozicia < 4) {
switch (code)
{
case 0:
RAZMER[pozicia] = '0';
break;
case 1:
RAZMER[pozicia] = '1';
break;
case 2:
RAZMER[pozicia] = '2';
break;
case 3:
RAZMER[pozicia] = '3';
break;
case 4:
RAZMER[pozicia] = '4';
break;
case 5:
RAZMER[pozicia] = '5';
break;
case 6:
RAZMER[pozicia] = '6';
break;
case 7:
RAZMER[pozicia] = '7';
break;
case 8:
RAZMER[pozicia] = '8';
break;
case 9:
RAZMER[pozicia] = '9';
break;
}
code = code + 1;
pozicia = pozicia + 1;
}
lcd_init( 16 );
lcd_clear( );
lcd_gotoxy( 0,0 );
lcd_putsf( lcdA );
lcd_gotoxy( 0,1 );
strcat(lcd_buf, RAZMER);
lcd_puts( lcd_buf );
;}
Код: Выделить всё
RAZMER[0] = '9';
RAZMER[0] = '6';
RAZMER[0] = '8';Потому-что именно так записываются строки. А где вы увидели присвоение переменной типа чар ? Я нашел только массивы и указатели.Roman Venom писал(а):Почему у вас в присваивании начального значения переменных типа char двойные кавычки?
Код: Выделить всё
RAZMER[0] = '9';
RAZMER[0] = '6';
RAZMER[0] = '8';Код: Выделить всё
RAZMER[0] = '9';
RAZMER[1] = '6';
RAZMER[2] = '8';Код: Выделить всё
RAZMER[pozicia] = '7';
break;
case 8:
RAZMER[pozicia] = '8';
break;
case 9:
RAZMER[pozicia] = '9';
break;
def[s]o[/s]ault: RAZMER[pozicia] = 'x'; break;
}