问答

汇集网友智慧,解决技术难题

21ic问答首页 - TAG - ADDR
  • AT24C512 写入数据每256个地址写入相同数据问题

    在使用AT24C512数据过程中,当向地址0写入数据时,地址256、512、(累加256)都会同时写入这个数据。向向地址1写入数据时,地址257、513、(累加256),其他地址也是相同情况。写入数据和读取数据都是正确没问题的 这样相当于最后只用到了256个地址,找不到任何问题,芯片也换了3个了,买了不同店的芯片。这是写入数据的代码,看哪位大拿能指点下,或者有遇到过类似问题的没有 //**********************************************// //函数名称: void write_rom(uchar addr, uchar data) //函数功能: 写数据到 ROM //传入参数: addr 写入的地址 //返回参数: write_rom 待写入的数据 //编写时间: 2021-10-16 //**********************************************// void write_rom(int addr, uchar data1) { uchar ch,i; start_rom() ; write_byte_rom(0xA0) ; //选择写操作 ack_rom() ; ch=(unsigned char)addr/256; write_byte_rom(ch) ; //写入地址高八位 ack_rom() ; ch=(unsigned char)addr%256; write_byte_rom(ch) ; //写入地址低八位 ack_rom() ; write_byte_rom(data1) ; //写入数据 ack_rom() ; stop_rom() ; for(i=0x20; i!=0; i--) { delay5us() ; delay5us() ; delay5us() ; delay5us() ; delay5us() ; delay5us() ; delay5us() ; delay5us() ; delay5us() ; delay5us() ; delay5us() ; delay5us() ; delay5us() ; } }

    AT24C512 ROM TE WRITE ADDR DDR

    2254浏览量 5回复量 关注量
  • 雅特力烧录程序HEX文件解析

    这个'05' Start Linear Address Record:开始线性地址记录,;在实际烧录过程中有什么用呢?烧录器是怎么处理这行数据呢?大佬们有么有做过这个的

    嵌入式 hex文件 烧录 ADDR address ST

    3825浏览量 1回复量 关注量
  • gd32f103替代stm32f103 fsmc问题 sos

    我使用gd32f103zet6 替代 stm32f103zet6 ,但是fsmc的 sram 不可使用 ,sram 为 is62wv51216bll 。程序停留下在如下代码 //在指定地址开始,连续读出n个字节. //pBuffer:字节指针 //ReadAddr:要读出的起始地址 //n:要写入的字节数 void FSMC_SRAM_ReadBuffer(u8* pBuffer,u32 ReadAddr,u32 n) { for(;n!=0;n--) { *pBuffer++=*(vu8*)(Bank1_SRAM3_ADDR+ReadAddr); ReadAddr+=2;//这里需要加2,是因为STM32的FSMC地址右移一位对其.加2相当于加1. } }

    STM32F103 gd32F103 FSMC AD ADDR DDR

    5793浏览量 0回复量 关注量
  • 【紧急求助】GD写数据到FLASH 失败,有什么方法解决吗?

    芯片GD32F103CB 使用的时GDF10X库函数写的程序,版本2.1.2,写u16 数据到0x0801000 地址 ,无法写进去,代码在下面u16 de[12]; fmc_unlock(); fmc_page_erase(FLASH_SAVE_ADDR); fmc_halfword_program(FLASH_SAVE_ADDR,de[0]); fmc_lock(); de[0]=STMFLASH_ReadHalfWord(FLASH_SAVE_ADDR); 读到的数据是0xff,这是什么原因

    技术交流 flash AD fm ADDR DDR

    4787浏览量 2回复量 关注量
  • AT32F421是否支持位带操作

    在AT32F403A验证是可以的,但是使用芯片AT32F421时就没反应,不确定哪里的问题? #ifndef _IO_BIT_H_ #define _IO_BIT_H_ #define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr&0xFFFFF)<<5)+(bitnum<<2)) #define MEM_ADDR(addr) *((volatile unsigned long *)(addr)) #define BIT_ADDR(addr, bitnum) MEM_ADDR(BITBAND(addr, bitnum)) //IO 口地址映射 #define GPIOA_ODR_Addr (GPIOA_BASE+0x14) //0x40020014 #define GPIOB_ODR_Addr (GPIOB_BASE+0x14) //0x40020414 #define GPIOC_ODR_Addr (GPIOC_BASE+0x14) //0x40020814 #define GPIOD_ODR_Addr (GPIOD_BASE+0x14) //0x40020C14 #define GPIOE_ODR_Addr (GPIOE_BASE+0x14) //0x40021014 #define GPIOA_IDR_Addr (GPIOA_BASE+0x10) //0x40020010 #define GPIOB_IDR_Addr (GPIOB_BASE+0x10) //0x40020410 #define GPIOC_IDR_Addr (GPIOC_BASE+0x10) //0x40020810 #define GPIOD_IDR_Addr (GPIOD_BASE+0x10) //0x40020C10 #define GPIOE_IDR_Addr (GPIOE_BASE+0x10) //0x40021010 //IO 口操作,只对单一的IO 口,n 的值范围[0-15] #define PAout(n) BIT_ADDR(GPIOA_ODR_Addr,n) //GPIOA 某一位输出 #define PAin(n) BIT_ADDR(GPIOA_IDR_Addr,n) //GPIOA 某一位输入 #define PBout(n) BIT_ADDR(GPIOB_ODR_Addr,n) //GPIOB 某一位输出 #define PBin(n) BIT_ADDR(GPIOB_IDR_Addr,n) //GPIOB 某一位输入 #define PCout(n) BIT_ADDR(GPIOC_ODR_Addr,n) //GPIOC 某一位输出 #define PCin(n) BIT_ADDR(GPIOC_IDR_Addr,n) //GPIOC 某一位输入 #define PDout(n) BIT_ADDR(GPIOD_ODR_Addr,n) //GPIOD 某一位输出 #define PDin(n) BIT_ADDR(GPIOD_IDR_Addr,n) //GPIOD 某一位输入 #define PEout(n) BIT_ADDR(GPIOE_ODR_Addr,n) //GPIOE 某一位输出 #define PEin(n) BIT_ADDR(GPIOE_IDR_Addr,n) //GPIOE 某一位输入 #endif

    ADDR DDR AD define IO bitband

    1315浏览量 1回复量 关注量
  • 华大UID如何读取

    如何读取华大HC32L13X系列的UID? 如下读取代码,执行就挂了... [color=#444444][backcolor=rgb(222, 240, 251)][font=Tahoma, "][size=16px]#define MCU_UID_ADDR_S 0x00100E74[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(222, 240, 251)][font=Tahoma, "][size=16px] uint8_t i = 0;[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(222, 240, 251)][font=Tahoma, "][size=16px] uint8_t data[10] = {0};[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(222, 240, 251)][font=Tahoma, "][size=16px] /* read */[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(222, 240, 251)][font=Tahoma, "][size=16px] for(i = 0; i < 10; i++) {[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(222, 240, 251)][font=Tahoma, "][size=16px] data[i] = *(unsigned char *)(MCU_UID_ADDR_S + i);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(222, 240, 251)][font=Tahoma, "][size=16px] }[/size][/font][/backcolor][/color]

    ui AD ADDR MCU DDR

    2359浏览量 11回复量 关注量