«c» 태그된 질문

C는 명령형 (절차) 시스템 구현 언어입니다. 비교적 간단한 컴파일러를 사용하여 컴파일되어 메모리에 대한 저수준 액세스를 제공하고 기계 명령어에 효율적으로 매핑되는 언어 구성을 제공하며 최소한의 런타임 지원이 필요합니다. 따라서 C는 이전에 어셈블리 언어로 코딩 된 많은 응용 프로그램에 유용했습니다. http://en.wikipedia.org/wiki/C_(programming_language)에서

8
임베디드 시스템 디버깅에 printf ()가 나쁜 이유는 무엇입니까?
를 사용하여 마이크로 컨트롤러 기반 프로젝트를 디버깅하는 것은 나쁜 일이라고 생각합니다 printf(). 출력 할 사전 정의 된 장소가 없으며 귀중한 핀을 소비 할 수 있음을 이해할 수 있습니다. 동시에 사람들이 사용자 정의 DEBUG_PRINT()매크로 를 사용하여 IDE 터미널에 출력하기 위해 UART TX 핀을 소비하는 것을 보았습니다 .
16 c  debugging 

3
C에서 조립까지
avr-8bit에 대해 다음과 같은 C 코드가 있다고 가정합니다. int v1=1; int v2=2; v2=v2+v1; 다음과 같은 분해가 예상되었습니다. ldi r18, 1; ldi r19, 2; add r19, r18; 그러나 내가 달린 후에 : avr-gcc -mmcu=atmega2560 Test.c -o Test.elf 과 avr-objdump -S Test.elf > Test.lss 나는 다음과 같은 분해를 얻었다 ldi r24, 0x01 …
16 avr  c  assembly 

1
PWM을 사용한 사인 신호 생성
MC68HC908GP32 마이크로 컨트롤러를 사용하여 사인 신호를 올바르게 생성 할 수 없습니다 . PWM 설명은 349 페이지에서 시작합니다. 클록 주파수는 2.4MHz이며, 프리스케일러를 사용하고 다음과 같이 타이머 모듈러스를 350으로 설정하여 7kHz PWM을 사용했습니다. T1SC = 0x60; // Prescaler: Div entre 64 //Counter modulo = 0x015E = 350 T1MODH = 0x01; // High …
16 microcontroller  c  pwm 

2
STM32F2 : 상용 IDE없이 Makefile, 링커 스크립트 및 시작 파일 조합
약 2 개월 동안 STM32F2 (특히 개발 보드의 STM32F217IGH6)와 함께 작업했습니다. 지금까지 가장 큰 문제는 makefile, 링커 스크립트 및 시작 파일을 포함하는 "setup"과 관련이있었습니다. 특히, 인터럽트 벡터 테이블을 올바르게 설정할 수 없었고 인터럽트 핸들러를 호출했습니다. ST는 상용 IDE에 맞춘 예제를 제공합니다. 대신, GCC 툴체인 (및 JTAG를 통해 이미지를로드하기 위해 OpenOCD)의 …
16 c  stm32  gcc 

4
ARM Cortex A9에서 중요 섹션을 구현하는 방법
일부 레거시 코드를 ARM926 코어에서 CortexA9로 이식하고 있습니다. 이 코드는 베어 메탈이며 OS 또는 표준 라이브러리를 모두 포함하지는 않습니다. 코드의 중요한 섹션으로 인해 방지되어야하는 경쟁 조건과 관련이있는 것으로 보입니다. 이 CPU에 대해 중요한 섹션이 올바르게 구현되지 않았는지 확인하기 위해 접근 방식에 대한 피드백을 원합니다. GCC를 사용하고 있습니다. 미묘한 오류가 있다고 …
15 c  embedded  interrupts 

3
8 비트 MCU에 대한 C 정수 프로모션
예를 들어 avr-gcc를 사용하면 int 유형의 너비는 16 비트로 지정됩니다. C에서 8 비트 피연산자에 대한 연산을 수행하면 C의 정수 승격으로 인해 피연산자가 16 비트 int 유형으로 변환됩니다. 이는 C로 작성된 경우 AVR의 모든 8 비트 산술 연산이 훨씬 오래 걸리는 것을 의미합니다. C의 정수 승격으로 인해 어셈블리로 작성된 경우?
14 microcontroller  avr  c 

9
더 나은 성능을 얻기 위해 임베디드 소프트웨어의 기능을 작성할 때 가장 좋은 방법은 무엇입니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 2 년 전 . 마이크로 컨트롤러 용 라이브러리 중 일부를 보았으며 그 기능은 한 번에 하나씩 수행합니다. 예를 들면 다음과 같습니다. …

6
임베디드 시스템에서 인터럽트를 사용할 때 전역 변수 피하기
전역 변수를 피하는 내장 시스템의 ISR과 나머지 프로그램간에 통신을 구현하는 좋은 방법이 있습니까? 일반적인 패턴은 ISR과 나머지 프로그램 사이에서 공유되고 플래그로 사용되는 전역 변수를 갖는 것으로 보이지만, 전역 변수의 사용은 그레인에 맞지 않습니다. avr-libc 스타일 ISR을 사용하는 간단한 예제를 포함 시켰습니다. volatile uint8_t flag; int main() { ... if (flag …

3
C에서 @로 변수 선언
나는 C 코드를 읽고 프로그램 에서이 선언을 보았습니다. unsigned char serv_ctr @0x0002; 누군가 나를 문서화하거나 Mplab XC8 v1.35 C 컴파일러에서 "@ 0x0002" 가 무엇인지 설명 할 수 있습니까 ?
11 c  embedded  mplabx  xc8  variable 

4
STM32의 엔디안 문제
arm gcc (CooCox)를 사용하여 STM32F4 검색을 프로그래밍하고 있으며 엔디안 문제로 씨름하고 있습니다. SPI를 통해 24 비트 ADC로 샘플링하고 있습니다. 3 바이트가 들어 오기 때문에 MSB는 먼저 유니언에로드하여 사용하기가 더 쉬워졌습니다 (어쨌든 희망했습니다!). typedef union { int32_t spilong; uint8_t spibytes [4]; uint16_t spihalfwords [2];} spidata; spidata analogin0; MSB로 [0]을 사용하여 spi …
11 c  stm32  cortex-m  gcc 

2
C 소스에서 직접 AVR EEPROM 프로그래밍
AVR C 소스에 다음 코드를 포함 시키면 추가 명령이나 .hex 파일없이 퓨즈를 직접 프로그래밍 할 수 있습니다. #include <avr/io.h> FUSES = { .low = LFUSE_DEFAULT , .high = HFUSE_DEFAULT , .extended = EFUSE_DEFAULT , }; EEPROM에서 값을 프로그래밍하는 것과 비슷한 트릭이 있습니까? /usr/lib/avr/include/avr/fuse.h매크로에 대한 의견을 어디에서 찾을 수 있는지 확인 …
11 avr  c  attiny  eeprom 

3
마이크로 컨트롤러 슬립 레이스 조건
다음 코드를 실행하는 마이크로 컨트롤러가 제공됩니다. volatile bool has_flag = false; void interrupt(void) //called when an interrupt is received { clear_interrupt_flag(); //clear interrupt flag has_flag = true; //signal that we have an interrupt to process } int main() { while(1) { if(has_flag) //if we had an interrupt { has_flag = …

6
PIC16 멀티 태스킹 RTOS 커널이 작동하지 않는 이유는 무엇입니까?
PIC x16 마이크로 컨트롤러를위한 반 선점 (협동) RTOS를 만들려고합니다. 내에서 이전의 질문에 나는 하드웨어 스택 포인터를 액세스하는 이러한 코어에 불가능하다는 것을 배웠다. 나는 살펴 보았다 이 PIClist 페이지, 이것은 내가 C를 사용하여 구현하기 위해 노력하고 무엇인가 내 컴파일러는 Microchip XC8이며 현재 구성 비트에서 4MHz 내부 RC 발진기가 선택된 PIC16F616을 작업 …

1
오픈 소스 및 크로스 플랫폼 인 PIC18F4550 C 컴파일러?
저는 오랫동안 AVR 사용자입니다. AVR-GCC가 내가 사용하는 두 가지 주요 OS (Mac OS X 및 Linux)에서 작동하고 오픈 소스이며 Atmel에서 지원하는 것이 정말 좋습니다. PIC18F4550 급 칩과 같이 꽤 좋은 PIC가 있기 때문에 PIC 프로그래밍 (90 년대에 사용)으로 돌아가고 싶습니다. 불행히도 PIC18의 모든 컴파일러는 Windows 전용이며 유료입니다. 그리고 그들은 거의 …
11 pic  c  compiler 

1
I2C의 슬 루율은 무엇입니까?
설명서의 2.4 절에 설명 된대로 C18 컴파일러의 내장 함수를 사용하여 PIC18에서 I 2 C를 구성 하고 있습니다 . void OpenI2C2( unsigned char sync_mode, unsigned char slew ); 무엇을해야할지 모르겠습니다 slew. 다음에 정의 된 두 가지 옵션 중에서 선택할 수 있습니다 i2c.h. SLEW_OFF: 100kHz 모드에서 슬 루율 비활성화 SLEW_ON: 400kHz 모드에서 …
10 pic  c  i2c  software  c18 

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.