Как использовать функцию sprintf в микро-С?
Чем отличаются lcd_puts и lcd_putch?
http://yandex.ru/yandsearch?clid=9582&text=sprintf&lr=5А почему используется нигде не объявленная функция sprintf?
puts - это вывод строки. putch- это вывод символа.Чем отличаются lcd_puts и lcd_putch?
Из вышесказанного, думаю, что сами догадаетесь почему.Почему с их помощью нельзя вывести 25,5?
Эта библиотека не для МикроС. По МикроС читайте хелп, там должна она быть описана.Как использовать функцию sprintf в микро-С?
Код: Выделить всё
int sprintf (
char *buffer, /* буфер сохранения */
const char *fmtstr, /* строка форматирования */
... ); /* дополнительные аргументы */
Функция форматирует последовательность строк и численных значений и сохраняет результирующие строки в buffer.
Примечание: строка форматирования должна быть в области CONST, поэтому функция sprintf не поддерживается для семейств PIC12 и PIC16.
Вот исходникWarning [361] D:\Work\PIC_CI\My_program\LCD\main.c; 39.1 function declared implicit int
Error [800] ; 0. undefined symbol "LVPDIS"
Error [800] ; 0. undefined symbol "MCLREN"
Код: Выделить всё
// MK pic16f72
// работа с LCD
#include <pic.h>
#include <stdio.h>
#include <string.h>
//------------------------------------------------------------------
__CONFIG (XT & WDTDIS & PWRTDIS & BOREN & UNPROTECT); // биты конфигурации программатора
//------------------------------------------------------------------
/* Биты конфигурации ************/
#if defined(__PICC__)
__CONFIG ( WDTDIS & HS & MCLREN & UNPROTECT & LVPDIS );
#elif defined(__PICC18__)
__CONFIG(1, HS);
__CONFIG(2, BORDIS & PWRTEN & WDTDIS);
__CONFIG(4, LVPDIS);
#elif defined(__18CXX)
#pragma config FOSC = HSMP, PLLCFG = ON // High speed x4
#pragma config LVP = OFF // Single-Supply ICSP disabled
#pragma config PRICLKEN = OFF // Primary clock can be disabled
#pragma config PWRTEN = OFF // Power up timer disabled
#pragma config BOREN = OFF // Brown-out Reset disabled
#pragma config PBADEN = OFF // PORTB<5:0> pins are configured as digital I/O on Reset
#pragma config MCLRE = EXTMCLR // MCLR pin enabled, RE3 input pin disabled
#pragma config DEBUG = OFF //
#pragma config WDTEN = OFF // Watch dog timer is always disabled
#endif
/********************************/
// объявление функций, используемые в файле-----------------------------------------------------------------
extern void lcd_init(void);
extern void lcd_clear(void);
extern void lcd_gotoxy(char, char);
extern void lcd_puts(char *);
extern void lcd_putch(char);
extern void lcd_cgram(char *, unsigned char); // Добавляет массив строк из arr в CGRAM, по адресу adr.
// конец объявления функций, используемые в файле---------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////////////////////////////////
void main ()
{
DelayMs(10);
lcd_init();
lcd_clear();
lcd_gotoxy(0,0);
DelayMs(10);
lcd_putch('C');
}// end main
//-------------------------------------------------------------------------------------------------------
Код: Выделить всё
__CONFIG (XT & WDTDIS & PWRTDIS & BOREN & UNPROTECT);Щёлкните по этой строке 2 раза, курсор перейдёт на строку с ошибкой.Error [499] ; . undefined symbol:
Если бы... Не переходит!Щёлкните по этой строке 2 раза, курсор перейдёт на строку с ошибкой.
В старых Hi tech насколько помниться, не было задержек в встроенных либах , а всего лишь пример .Ghost in shell писал(а):Мне пока не до sprintf: при компиляции на вылетает DelayMs(10);
В Микрос нет ни конфигов ниАlex писал(а):А какой компилятор то ? МикроС ?
Код: Выделить всё
#include <pic.h>