atmel相关内容
我知道有很多关于这个主题的问题,并且我已经查看了相当多的问题.但是我仍然遇到问题. 我开始为原型 PCB 编写一个测试程序,现在它已经增长到近 1000 行,我正试图将其分解为可用于特定功能的库. 我认为这将非常简单.为我需要的每个库制作 .c 和 .h 文件.IE.对于控制 OLED 显示器的功能,我会使用 OLED.h 和 OLED.c.将适当的函数/定义复制到每个文件中.然后将这
..
我想为微控制器创建一个 GUI 驱动的应用程序 (Atmel XMEGA) 连接到 128x64 点图形 LCD (EA DOGL128-6) 和 4 个导航按钮. 控制显示器本身(例如绘制像素和字符)是没有问题,但为了防止我重新发明轮子,我在谷歌上搜索用 c 编写的 GUI-Library/-Toolkit,包括其源代码,将在 32 MHz 8 位微控制器上运行,并至少提供以下控件:
..
我正在尝试访问 Atmel 的 Arm9 9g20 上的 GPIO 引脚.我下面的代码在 不断失败gpio = mmap(0, getpagesize(), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0xFFFFF400);//GPIOA开始 有人可以帮助我编写代码并提供一些 I/O 示例代码来帮助我解决这个问题吗?谢谢. //gpio.c//编译
..
我在 Atmel SAM4E-EK 板上使用 Atmel SAM4E-16e.我已经为此配置编写了一个引导加载程序.引导加载程序通过 UART 接收 .bin 文件并将其写入闪存.这没有问题,我做了一个十六进制转储,这正是我所期望的: 0x400000 处的引导程序(AT SAM4E 的闪存起始地址) 我的应用程序在 0x420000 0x800000 是闪存结束地址 这是 C 代
..
我在 Atmel SAM4E-EK 板上使用 Atmel SAM4E-16e.我已经为此配置编写了一个引导加载程序.引导加载程序通过 UART 接收 .bin 文件并将其写入闪存.这没有问题,我做了一个十六进制转储,这正是我所期望的: 0x400000 处的引导程序(AT SAM4E 的闪存起始地址) 我的应用程序在 0x420000 0x800000 是闪存结束地址 这是 C 代
..
我正在尝试通过 ssh 连接到嵌入式设备.但是,在尝试连接时,即使我尝试更改端口号,也总是收到 connection denied 消息.我已经尝试了一切来解决这个问题,从更改 /etc/ssh/ 中的文件以接受特定的端口号,到 sudo iptables -A INPUT -p tcp --dport ssh-j 接受. 阅读一些评论后,我发现可能的问题之一是我的嵌入式设备上没有安装 ss
..
我目前正在使用 Atmel SAM3X8 ARM 微控制器,该微控制器具有双组 2 x 256KB 闪存.我正在尝试实现固件更新功能,将新固件放入当前未使用的闪存库中,完成后使用闪存重新映射交换库以运行新固件. 数据表指出,我需要设置 GPNVM2 位,然后 MCU 将重新映射内存,因此闪存 1 现在位于 0x80000,闪存 0 位于 0xC0000.这也会导致 MCU 执行从 Flash
..
我正在开发板上有一个基于 32 位 ARM 的微控制器(即该板是 Atmel SAM D21J18A).我仍处于学习阶段,还有很多事情要做,但我真的很喜欢嵌入式系统. 我有一些 C 语言背景.但是,这显然还不够.我正在查看 Atmel 示例项目的代码,但我并没有真正了解其中的某些部分.这是其中之一: #define PORT ((Port *)0x41004400UL)/** 端口定义
..
我有一个 atmel UC3-L0 和罗盘传感器.现在我安装 AtmelStudio 并将一些演示代码下载到板上.但是我不知道演示代码中的函数 printf 会在哪里出现数据.我应该如何获取数据? 解决方案 为了在 ATMEL studio 中使用 printf,您应该检查以下事项: 从项目->ASF 向导添加和应用标准串行 I/O 模块. 同时从 ASF 向导添加 USART 模
..
我想知道是否可以创建类似宏数组的内容.我已经实现了以下有效的代码: struct led_cmds_{ioport_pin_t * commands [LED_COUNT];};struct led_cmds_ the_led_cmd_;无效populate(){the_led_cmd_.commands [0] = SPECIFICPIN(0);} 和主要内容: int main
..
我正在使用Atmel Studio 6.2为Atmega328p编写一些汇编代码. 但是,当我使用模拟器并逐步执行程序时,子例程的 call 指令不起作用.它完全忽略了 call 指令,并转到下一行. 为了测试 call 指令,我编写了一个简单的程序,其外观如下: .include"m328pdef.inc"ldi R16、11致电hello_worldmov R1,R0p你好,世
..
我目前正在研究PWM调制器,以“模拟"汽车发动机的点火换向.然后,我将用它来驱动另一个微控制器,该微控制器通过RPM计数器的检流计来处理从原始信号(发动机换向器)到干净输出电压的转换. 这个项目也是我学习如何更好地控制微控制器的借口. 好吧,我使用timer0(8位)编写了一个小程序,我需要触发两个中断服务程序(ISR): TIMER0_OVF_vect:溢出中断 TIMER0
..
我们有一个BLE设备和一个用于与该设备进行通信的android/ios应用. 要求是在没有任何配对请求的情况下将android/ios应用连接到设备.设备上不需要安全性. 以下是关于此的一些问题: Q1.是否有可能将android/ios应用程序连接到BLE 没有配对请求的设备? 第二季度.是否需要粘接 BLE通讯? Q3.拥有设备的不利之处是什么 没有粘接?在应用程序运行时
..
我有以下代码: main.c #include "checksum.h" void main() { char *Buf ="GPGGA204502.005106.9813N11402.2921W1090.91065.02M-16.27M"; checksum(Buf); } checksum.c #include #include
..
我正在使用ATMEGA项目的makefile样式编译.作为Arduino IDE的传统,开发工具链主要针对gcc 4.3.2. Avrstudio 4.19 + Jtagice MKII CN + gcc 4.3.2 + make 可以通过某种方式工作.但是我的问题是gcc 4.3.2相当有问题.我看到例如与非易失性变量优化相关的随机错误,寄存器缓存的值并不总是写回到内存中,而且错误警告也很烦人.
..
在我的Atmel ASF项目中,我正在尝试按照内联asm代码进行构建.但是我在编译时遇到了不可能的约束. 编译器指向此行__asm__ __volatile__, 我错过了什么吗? #define OUTPORT PORTD #define OUTBIT 3 // PD.3 uint8_t rport ,rbits; uint8_t *buf = message; as
..
我正在尝试访问Atmel的Arm9 9g20上的GPIO引脚.我下面的代码不断在 上失败 gpio = mmap(0,getpagesize(),PROT_READ | PROT_WRITE,MAP_SHARED,fd,0xFFFFF400);//GPIOA的开始 有人可以帮助我处理我的代码,并提供一些I/O示例代码来帮助我度过这个难关吗?谢谢. // gpio.c // com
..
我正在Atmel SAM4E-EK板上使用Atmel SAM4E-16e.我已经为此配置编写了一个引导程序. 引导加载程序通过UART接收.bin文件,并将其写入Flash.这项工作没有问题,我进行了十六进制转储,这正是我所期望的: 引导加载程序位于0x400000(AT SAM4E的Flash起始地址) 我在0x420000处的申请 0x800000是Flash结束地址 这是C代
..
我正在尝试通过ssh连接到嵌入式设备.但是,当尝试连接时,即使尝试更改端口号,我也总是收到connection refused消息.从将/etc/ssh/中的文件更改为接受特定的端口号,到"sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT ",我已经尝试了所有方法来解决此问题. 在阅读一些评论后,我发现也许的问题之一是我的嵌入式设备上没有
..
我目前正在使用Atmel SAM3X8 ARM微控制器,该微处理器具有双存储区2 x 256KB闪存.我正在尝试实现固件更新功能,该功能将新固件放入当前未使用的闪存库中,并在完成后使用闪存重新映射来交换库以运行新固件. 数据表指出要这样做,我需要将GPNVM2位置1,然后MCU将重新映射存储器,因此Flash 1现在为0x80000,Flash 0为0xC0000.这也将导致MCU从Flas
..