cost 230 ms
划分 unsigned char 與划分 unsigned short 時的不同編譯器行為

[英]Different compiler behavior when dividing unsigned char vs dividing unsigned short

我在 C 編程領域不是很有經驗,我之前只使用過 arduino,我決定通過在不使用 Arduino IDE 的情況下在 ATtiny13 上做一個項目來讓我的腳更加濕潤,只通過 cli 進行avr-gcc 。 由於閃存非常寶貴,我正在探索各種減少代碼大小的技術。 在我的旅程中,我遇到了乘法和除法,我 ...

無符號整數除法舍入 AVR GCC

[英]unsigned integer devision rounding AVR GCC

我正在努力理解如何將無符號整數除以 10 來計算四舍五入,就像浮點數會四舍五入一樣。 我希望這兩個總和都四舍五入到 33(3.3 相當於小數點后 1 位) 如果我比我更了解處理器如何執行整數除法,我相信答案很簡單。 ...

avr-gcc 庫存儲在哪里?

[英]Where are avr-gcc libraries stored?

我試圖找到與 avr 中的#include 頭文件相關的.c 文件。 我想看看 avr-gcc 庫中定義的一些標准庫,尤其是 <avr/io.h> 中包含的 PORT 定義。 我在 /usr/lib/avr/include/avr 中搜索了庫並找到了頭文件,但是我正在尋找的是 .c 文 ...

在 AVR 閃爍程序中聲明函數使其發生故障

[英]declaring function in AVR blinking program makes it malfunction

我有這個閃爍的 LED 程序(它每秒閃爍 L LED) 這工作正常但是當我添加如下功能時 L LED 不閃爍我打算這樣做。 即使我從主函數中刪除了所有代碼,它仍然以相同的方式閃爍。 我使用 avrdude 來刷新程序。 處理器是atmega328p。 這是我使用的 Makefile 我嘗試刪除參數、 ...

2022-12-11 09:23:35   1   43    c / avr / avr-gcc  
AVR 微控制器 - 使用程序計數器跳轉到特定地址

[英]AVR microcontroller - jumping to specific address using the programcounter

我希望我的程序在每次發生中斷時跳轉到一些特定的任務。 我正在考慮通過向程序計數器斷言地址以在任務之間跳轉來做到這一點第一:我怎樣才能找到任務位於 memory 的位置? 第二:我如何斷言 C 中程序計數器的地址? ...

2022-12-10 16:13:37   1   35    avr / avr-gcc  
如何讓 avr-gcc output *.o 以 `%.o: %.c` 分隔 Makefile 中的文件夾?

[英]How to let avr-gcc output *.o to separate folder in Makefile with `%.o: %.c`?

如第一張截圖所示,我理想的 AVR 項目結構是: *.o 、 *.elf和*.hex文件位於build文件夾中。 PomoScheler.c和pinDefines.h作為主要文件在根文件夾中,而其他*.c和*.h在src文件夾中。 但是*.o總是在與*.c相同的文件夾中生成,如第二個屏幕截圖所 ...

__eeprom 和 EEMEM

[英]__eeprom and EEMEM

我正在嘗試將代碼庫從 iar 移植到 avr-gcc。 除其他必須替換的內容外,iar eeprom memory 屬性 __eeprom 必須替換為 avr-gcc 友好屬性。 AFAIK 的替代品是 EEMEM,但用法不同,我無法弄清楚如何以最干凈的方式替換 __eeprom。 此錯誤不僅限 ...

如何使用適用於 Ada 的 Alire package 管理器安裝適用於 AVR 的 ZFP(零足跡)RTS(運行時系統)?

[英]How can I install the ZFP (Zero Foot Print) RTS (Run Time System) for AVR with the Alire package manager for Ada?

如何使用適用於 Ada 的 Alire package 管理器安裝適用於 AVR 的 ZFP(零足跡)RTS(運行時系統)? 我認為正確的項目文件包含:project Avr is for Runtime("Ada") use "zfp"; for Target use "avr-el ...

關於 AVR Assembly 變量存儲最佳實踐的問題

[英]Question about AVR Assembly variable storing best practices

我只是從 AVR 微控制器中的低級組裝開始。 我在 SRAM 上分配了變量: 之后,我通過傳感器的 SPI 填充變量。 使用間接尋址: 我已經確認var1和var2連續存儲在內存中。 現在我的問題是,從傳感器接收到var2的第二個 2 字節后,是否可以只增加 Z 指針並存儲結果,還是應該再 ...

avr-gcc 在另一個文件中時不編譯中斷

[英]avr-gcc not compiling interrupts when they are in another file

我用 avr-gcc 為帶有 SIMPLE ISR 的 ATMega328p 做了一個簡單的程序。 問題是:當我將 ISR 放在 main.c 文件之外時,編譯器不使用它。 原來的main.c: 原始 main.c 的反匯編: 現在看看這個 main.c: 有了這個interrupts ...

AVR 的 Makefile

[英]Makefile for AVR

我有文件夾“I2C AtMega32”: 我有我簡單的 Makefile: 在makefile工作期間有一些錯誤: 為什么它不工作? ...

使用聯合測試字節數組中位的有效方法?

[英]Efficient way to test bits in a byte array using a union?

我的數據有時最好被視為一個 10 字節的數組,有時是一個 80 位的數組。 也許是工會的工作? 用 10 個字節填充數組后,我掃描 80 位並測試是否設置。 在 ISR 中,掃描是逐位推進的,因此效率是關鍵。 現在我在每次中斷時都這樣做: 我有一種感覺,有一種方法可以創建一個聯合,允許使用單 ...

使用 ATmega328P 在具有 SPI 通信的 LCD 矩陣上顯示文本

[英]Displaying text on an LCD Matrix with SPI communication responsively using ATmega328P

背景和目標 我正在開發一個簡單的 AVR C 項目,該項目帶有超聲波傳感器 (HC-SR04) 和 ATmega328P (Arduino) 和三個級聯 MAX7219 LCD 矩陣之間的 SPI 通信。 該系統的目的是使用超聲波傳感器檢測和測量距離,並同時在 LCD 矩陣上顯示適當的消息。 什么 ...

avr-gcc 在鏈接的 object 文件中未定義對 function 的引用

[英]avr-gcc undefined reference to function in linked object file

我有一些代碼用於處理 ah/.c 對中的所有 uart 相關函數和操作,我通常將它們包含在我的項目中。 我有一個 makefile,它將所有 my.c 文件編譯成 .o 文件,然后將它們全部鏈接到一個可執行文件。 出於某種原因,我使用這對的項目之一編譯正常但另一個給出了這個錯誤: 在編譯所有 the ...

這可能是 avr-gcc 11.1.0(來自 Zak Kemble)中的編譯器錯誤嗎?

[英]Is this a possible compiler error in the avr-gcc 11.1.0 (from Zak Kemble)?

這是一個復雜的問題,我不確定它的原因。 對我這么裸是因為,我的英語(寫作)很生疏,我的技術語言(術語)也不太好。 開發者:Atmega1284P 編譯器:來自Zak 電子博客的AVR-GCC 11.1.0 我使用的所有庫都是我編寫的。 它們都按預期工作,包括我的 UART 和它的“姐妹”UART ...

如何 output 由 CMake 項目創建的最終可執行文件的匯編列表?

[英]How to output the assembly listing of the final executable created by a CMake project?

我目前正在使用avr-gcc編譯器在 Atmel ATMega328p 微控制器上運行一個嵌入式項目。 我決定使用 CMake 來創建我的構建系統,因為這樣可以很容易地將我的項目集成到帶有 Intellisense 的 VS Code 中。 我想在我的項目中設置的設置之一是 *.map 文件的 o ...

avr-gcc 計算結果隨語句復雜度而變化

[英]avr-gcc calculation results varies with statement complexity

所以我有這行 C 代碼,它在 ATmega2560 上獲取 10 位 ADC 值並將其縮放以供計數器稍后使用。 結果應該在 44 到 4166 之間或者類似的東西 我用 avr-gcc 編譯並將 tcnt 的值發送到串行來檢查它..它超出了預期的范圍在多次檢查我的數學和括號后,我想我會簡化並重寫它如 ...

AVR 光電管不適用於 Arduino UNO

[英]AVR photocell not working with Arduino UNO

我正在學習一個教程,我發現讓光電管點亮 LED 作為構建莫爾斯編碼器/解碼器的第一步。 我只有一個 arduino UNO 可用,而不是 ATmega328P 芯片本身可以使用。 我已將光電管連接到引腳 A0,將 LED 連接到 UNO 上的引腳 D~9。 我試圖重寫用於我當前設置的代碼,但它出現 ...

在為 8 位處理器編譯時,在哪里可以找到有關 avr-gcc 使用的浮點值的精確二進制表示的信息?

[英]Where to find information about the exact binary representation of floating point values used by avr-gcc when compiling for 8-bit processors?

我需要在使用 Arduino 框架為 Atmega328 構建的 Platformio 項目中找到float s 和double s 的確切二進制表示。 我無法訪問實際的硬件,所以我無法自己檢查。 micro沒有FPU並且是8位的,所以它幾乎完全取決於編譯器(或框架的庫?) - 在這種情況下似乎 ...

AVR-GCC 用 Main 覆蓋中斷向量表

[英]AVR-GCC Overwrites Interrupt Vector Table with Main

我有一個為 ATmega168 編寫的簡單 C 程序: 我的 CMakeLists: 當我編譯它時(直接從命令行使用 avr-gcc 和在 CLion 中通過我的 CMakeLists 文件),編譯器(鏈接器?)似乎正在用我的主 function 覆蓋中斷向量表。 當我在 .elf 文件上使用 ob ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM