Hej,
mam taki ciężki do przejścia dla mnie problem.
Piszę program w którym wykorzystuję przerwanie od timera i nie mogę sobie poradzić z deklaracją zmiennych. Mam dwa pliki main.c i stm32f10x_it.c.
W pliku main deklaruję zmienne globalne:
a w pliku stm32f10x_it.c. chciałbym je wykorzystać w przerwaniu
to dodałem przed nazwami plików extern żeby sobie szukał program tego w innym pliku ale wyskakują błędy:
wie ktoś może w czym leży problem?
mam taki ciężki do przejścia dla mnie problem.
Piszę program w którym wykorzystuję przerwanie od timera i nie mogę sobie poradzić z deklaracją zmiennych. Mam dwa pliki main.c i stm32f10x_it.c.
W pliku main deklaruję zmienne globalne:
#include "stm32f10x.h"
#include "fatfs/src/ff.h"
#include "fatfs/src/diskio.h"
#include <stdio.h>
void RCC_Conf(void);
void NVIC_Conf(void);
void SysTick_Conf(void);
void GPIO_Conf(void);
FATFS g_sFatFs;
DIR g_sDirObject;
FILINFO g_sFileInfo;
FIL g_sFileObject;
WORD zapisanych_bajtow;
uint16_t ADC1Val = 0;
FRESULT fresult;
FIL plik;
FILINFO plikInfo ;
DIR Dir;
FILINFO *p;
int main(void)
{
RCC_Conf();
SysTick_Conf();
NVIC_Conf();
GPIO_Conf();
GPIO_SetBits(GPIOC, GPIO_Pin_12);
fresult = f_mount(0, &g_sFatFs);
// Tworzenie pliku na karcie
fresult = f_open (&plik,"plik.txt", FA_CREATE_ALWAYS | FA_WRITE);a w pliku stm32f10x_it.c. chciałbym je wykorzystać w przerwaniu
void TIM1_CC_IRQHandler(void)
{
extern FRESULT fresult;
extern FIL plik;
extern FILINFO plikInfo ;
extern DIR Dir;
extern FILINFO *p;
if (TIM_GetITStatus(TIM1, TIM_IT_CC1) != RESET)
{
TIM_ClearITPendingBit(TIM1, TIM_IT_CC1);
ADC_ExternalTrigConvCmd(ADC1, ENABLE);
fresult = f_write(&plik, "zawatosc pliku", 15, &zapisanych_bajtow);
}
}
to dodałem przed nazwami plików extern żeby sobie szukał program tego w innym pliku ale wyskakują błędy:
Description Resource Path Location Type
unknown type name 'DIR'
unknown type name 'FIL'
unknown type name 'FILINFO'
unknown type name 'FILINFO'
unknown type name 'FRESULT'
wie ktoś może w czym leży problem?