• 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
返回

电子发烧友 电子发烧友

  • 全文搜索
    • 全文搜索
    • 标题搜索
  • 全部时间
    • 全部时间
    • 1小时内
    • 1天内
    • 1周内
    • 1个月内
  • 默认排序
    • 默认排序
    • 按时间排序
大家还在搜
  • 电磁兼容设计讲座--中兴玉明

    `电磁兼容设计讲座--中兴玉明,大家不容错过,为论坛电磁兼容讲座热热身[hide][/hide]`

    2011-10-17 09:34

  • 有关“开关”好资料,拿走不

    如何正确给 CMOS 开关上电?CMOS 开关的输入和输出保护电路是什么?能否解释一下漏电流与温度的关系图中++、 -+ 符号的意义?处于关断状态(关断电阻)时,开关的开路漏电流是多少?…… 以上这些问题,你都知道答案么?不知道的下载附件吧(来源:https://ezchina.analog.com/docs/DOC-1606) ps.附件据说是ADI工程师亲自整理哒,相比有参考价值! 等级不够么?附件传不上来,尴尬……需要的亲只好移步原帖下载咯 https://ezchina.analog.com/docs/DOC-1606

    2017-07-20 00:31

  • 简单的FM发器图资料分享

    2021-05-13 07:17

  • ADI最新中文资料,拿走不

    系统方案精选 APM ADI公司再生能源—电动汽车充电设备解决方案 数据手册 DATASHEET ADA4610-1/ADA4610-2/ADA4610-4:低噪声、精密、轨到轨输出、JFET单/双/四通道运算放大器 ADGS5412: SPI 接口, 4 x SPST 开关, 9.8 Ω R ON ,±20 V/+36 V ,支持多路复用配置 ADA4077-1/ADA4077-2/ADA4077-4: 4 MHz 、7 nV/√Hz、低失调和漂移、高精度放大器 ADA4084-1/ADA4084-2/ADA4084-4: 30 V 、 低噪声 、 轨到轨输入 / 输出 、 低功耗运算放大器 ADA4177-1/ADA4177-2/ADA4177-4:提供 OVP 和 EMI 保护的精密、低噪声、低偏置电流运算放大器 ADA4530-1: 飞安级输入偏置电流静电计放大器 模拟对话 ANALOG DIALOGUE 超宽带数字预失真:在电缆分配系统中实现带来的优势(功率和性能)和挑战 发射本振泄漏—零中频架构中令人烦恼的问题 低功耗会烧毁器件?低电流损耗也可能带来麻烦 负电压线性稳压器 技术文章 TECHNICAL ARTICLE 开创性的 5 kV ESD MEMS 开关技术 数字电源中的隔离—原因及方式 MEMS加速度计性能已臻成熟 ADI公司的革命性MEMS开关技术基本原理 在线研讨会 Webinar 物联网设备的可靠连接 视频 VIDEO 集成DPD的AD9375小型蜂窝无线电参考设计 AD400x解决了设计挑战并降低了系统复杂性 ADI公司展示全新产品和完整解决方案 AD9375 DPD评估平台的演示视频 配备SSM6322的高保真耳机放大器解决方案 RadioVerse AD9375 DPD概述 控制并驱动高密度SiC/GaN功率转换 ADI公司连接:云平台 高动态范围图像检测和情境感知 ADI公司连接:物联网开发平台 Matrix Powerwatch 物联网资产健康跟踪与远程有毒气体检测 适用于材料检测的传感器-云平台 SmartMesh®无线网格 Smartopolis 热监控系统 可穿戴式健康监测及其他设备 8月中文印刷资料,免费索取! 贴心的ADI免去了大家注册的麻烦,提供统一账号供大家索取印刷资料。 账号:ADI 密码:Analog22 马上索取中文资料吧:http://form.analogdevices.com.cn/adi_scm/login.php

    2017-08-24 21:51

  • 有关“开关”好资料,拿走不

    如何正确给 CMOS 开关上电?CMOS 开关的输入和输出保护电路是什么?能否解释一下漏电流与温度的关系图中++、 -+ 符号的意义?处于关断状态(关断电阻)时,开关的开路漏电流是多少?…… 以上这些问题,你都知道答案么?不知道的下载附件吧(来源:https://ezchina.analog.com/docs/DOC-1606) ps.附件据说是ADI工程师亲自整理哒,相比有参考价值! 等级不够么?附件传不上来,尴尬……需要的亲只好移步原帖下载咯 https://ezchina.analog.com/docs/DOC-1606

    2017-07-17 23:55

  • 嵌入式STM32视频教程分享,拿走不!

    楼主这里有一个嵌入式STM32的视频教程,感觉很适合正在学习的朋友们,在这里分享给大家,需要的可以看看!百度云盘下载地址:http://pan.baidu.com/s/1c2LyKHa密码:oy0c

    2016-12-29 14:01

  • 求视觉与运动模块中控件的详细介绍,

    求视觉与运动模块中控件的详细介绍,谢谢,邮箱724989634@qq.com

    2013-02-25 07:52

  • 开关电源入门——马克著,云祥著

    好东西大家分享

    2013-08-23 15:18

  • 国庆大礼包拿走不---LabVIEW通用逻辑运动-控整条流水席-试运行基础版本-无期限喜欢的拿走,不

    本帖最后由 wcl86 于 2021-5-14 15:35 编辑 说明:也许您觉得控制几个轴简单随意做做,但是有没有经历过大的项目20轴以上这时候咱们通用逻辑运动软件起到了至关重要的作用。希望大家能有帮助。注意:一定先装VIPM文件下面的所有不然执行文档报错的喜欢“莱伯维尔(苏州)智能测控”的我们会继续努力为大家解决项目中遇到的烦恼。

    2020-09-29 17:15

  • 关于M25P16擦除问题,求好心人指点万~~~~

    本帖最后由 唯lose 于 2016-3-4 15:53 编辑 最近小弟在调试一个SPI外挂Flash程序,也查了好多资料然后自己就简单的写了一个测试程序,开始第一次能写入也能读取正确的数,但第二次我整块擦除的时候再在同一个地址写入另一个数的时候,读出的数据确实00,后面我试了好多方法,不管怎么样都不能读取正确的数了。下面是我个人所写的程序,望各位高手指点一二,万分感谢!算了我还是吧我工程文件添加上去吧,我用的串口是正点原子的串口,后面结束位必须是0x0d结束。。。 #ifndef _M25P16_H#define _M25P16_H#include "SPI.h"#include "stm32f10x.h"#define CSGPIO_Pin_4//PA4; #define M25P16_WriteEnable0x06 //Write enable#define M25P16_WriteDisable0x04 //Write disable#define M25P16_ReadStatusReg0x05 //Read status register #define M25P16_WriteStatusReg0x01 //Write status register#define M25P16_ReadData0x03 //Read data bytes#define M25P16_FastReadData0x0B //Read data bytes at higher speed #define M25P16_PageProgram0x02 //PageProgram#define M25P16_SectorErase0x20 //Sector Erase#define M25P16_ChipErase 0xC7 //Bulk erase #define M25P16_PowerDown 0xB9 //Deep Power-down#define M25P16_ReleasePowerDown 0xAB //Release from deep Power-down#define M25P16_ReadID0x9F //Read identification#define M25P16_CS(x) x ? GPIO_SetBits(GPIOA, CS): GPIO_ResetBits(GPIOA, CS)//1 PA4=1; 0 PA4=0;//void SPI1_Init();void GPIOInit(void);void M25P16_init(void);void Read_ID(void);void Flash_WaiteBusy(void);void Bulk_Erase(void);void Sector_Erase(uint32_t Sector);//void Sector_Erase(void);void Read_Buffer(uint32_t address);//void Read_Buffer(uint8_t *P_Buffer,uint32_t address,uint16_t ReadNum);void Write_Page(uint32_t address);//void Write_Page(uint8_t *P_Buffer,uint32_t address,uint16_t WriteNum);void Write_Buffer(uint8_t *P_Buffer,uint32_t address,uint16_t WriteNum);#endif#include "M25P16.h"//#define Select_FlashGPIO_ResetBits(GPIOA, GPIO_Pin_4);//#define NoSelect_Flash GPIO_SetBits(GPIOA, GPIO_Pin_4);uint8_t Test_Data;void GPIOInit(){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE );GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //PA5/6/7GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure); //GPIO_InitStructure.GPIO_Pin =GPIO_Pin_4;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure); //}void SPI1_Init(){SPI_InitTypeDefSPI_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1,ENABLE);SPI_Cmd(SPI1,DISABLE);SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; SPI_InitStructure.SPI_Mode = SPI_Mode_Master; //SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; //SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; //SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;//SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; //SPI_InitStructure.SPI_BaudRatePrescaler =SPI_BaudRatePrescaler_4; //SPI_InitStructure.SPI_FirstBit =SPI_FirstBit_MSB;//SPI_InitStructure.SPI_CRCPolynomial = 7;//SPI_Init(SPI1, &SPI_InitStructure);// SPI_Cmd(SPI1, ENABLE); //}uint8_t Send_Recieve(uint8_t Data){while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET) ;SPI_I2S_SendData(SPI1, Data); //ͨ¹ýÍâÉèSPIx·¢ËÍÒ»¸öÊý¾Ýwhile (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET) ;return SPI_I2S_ReceiveData(SPI1); }uint8_t temp[3]={0};void Read_ID(){M25P16_CS(0);Send_Recieve(M25P16_ReadID);temp[0]=Send_Recieve(0xA5);temp[1]=Send_Recieve(0xA5);temp[2]=Send_Recieve(0xA5);M25P16_CS(1);}void Flash_WaiteBusy(){uint8_t Flash_Status;M25P16_CS(0);Send_Recieve(M25P16_ReadStatusReg);do{Flash_Status=Send_Recieve(0xA5);} while((Flash_Status &0x01)==SET);M25P16_CS(1);}void Sector_Erase(uint32_t Sector){M25P16_CS(0);Send_Recieve(M25P16_WriteEnable);M25P16_CS(1);Flash_WaiteBusy(); M25P16_CS(0);Send_Recieve(M25P16_SectorErase);Send_Recieve((Sector &0xFF0000)>>16);Send_Recieve((Sector &0xFF00)>>8);Send_Recieve(Sector &0xFF);M25P16_CS(1);Flash_WaiteBusy();}void Bulk_Erase(){M25P16_CS(0);Send_Recieve(M25P16_WriteEnable);M25P16_CS(1);M25P16_CS(0);Send_Recieve(M25P16_ChipErase);M25P16_CS(1);Flash_WaiteBusy();}void Read_Buffer(uint32_t address){uint8_t i;M25P16_CS(0);Send_Recieve(M25P16_ReadData);Send_Recieve((address & 0xFF0000)>>16);Send_Recieve((address & 0xFF00)>>8);Send_Recieve(address & 0xFF); /*for(i=0;i>16);Send_Recieve((address & 0xFF00)>>8);Send_Recieve(address & 0xFF);/*for(i=0;iAPB1RSTR = 0x00000000; //ÄÚÉèʱÖÓ¸´Î»½áÊø RCC->APB2RSTR = 0x00000000; RCC->AHBENR= 0x00000014; //ÉÁ´æºÍSRAM˯ÃßÏ¿ª£¬ÆäËûµÄ¹Ø±Õ RCC->APB2ENR= 0x00000000; //ÄÚÉèʱÖÓ¹Ø±Õ RCC->APB1ENR= 0x00000000; RCC->CR|= 0x00000001; //ÄÚ²¿¸ßËÙʱÖÓ´ò¿ª RCC->CFGR &= 0xf8ff0000; //ʱÖÓ½ÅÊä³ö¹Ø,ÄÚÉèʱÖÓÈ«²»·ÖƵ,ϵͳÇл»¸ßÄÚʱÖÓ RCC->CR&= 0xfef6ffff; //±¶ÆµÆ÷¹Ø,°²È«Ê±ÖÓ¹Ø,¸ßÍâʱÖÓ¹Ø RCC->CR&= 0xfffbffff; //¸ßÍâÅÔ·¹Ø RCC->CFGR &= 0xff80ffff; //u***1.5±¶Æµ,PLL2±¶Æµ,¸ßÍâ²»·ÖƵ,±¶ÆµÆ÷ʱÖÓÀ´Ô´(¸ßÄÚ2·ÖƵ) RCC->CIR= 0x00000000; //¹Ø±Õ¾§ÕñËùÓÐÖжÏ//ÅäÖÃÏòÁ¿±í//NVIC_VectTab:0x08000000//Offset:0x0 // SCB->VTOR= 0x80000000|(0x0&(uint_32)0x1fffff80); RCC->CR|= 0x00010000;//Íⲿ¸ßËÙʱÖÓʹÄÜ while(!(RCC->CR >> 17));//µÈ´ýÍⲿʱÖÓ¾ÍÐ÷ RCC->CFGR= 0x00000400;//APB1=DIV2;APB2=DIV1;AHB=DIV1 PLL = PLL - 2;//Æ«ÒÆÁ½¸öÁ¿ RCC->CFGR |= PLL CFGR |= 1 ACR|= 0x32;//flash 2¸öÑÓʱÖÜÆÚ RCC->CR|= 0x01000000;//PLL ON while(!(RCC->CR>>25));//µÈ´ýPLLËø¶¨ RCC->CFGR |= 0x00000002;//PLL×÷ΪϵͳʱÖÓ while(Flag_Clock!=0x02) //µÈ´ýPLL×÷ΪϵͳʱÖÓÉèÖóɹ¦ {Flag_Clock = RCC->CFGR >> 2;Flag_Clock &= 0x03; }}int main(void){ uint16_t i,j,XX,len; uint16_t m=0; uint8_t mode,WSector=0,RSector=0; Stm32_Clock_Init(9); // Led_Gpio_Init();// USART_INIT();// GPIOInit(); SPI1_Init(); //M25P16_init(); //Sector_Erase(0x000000); Write_Page(999); Read_Buffer(999); while (1) { // Bulk_Erase();if(USART_RX_STA&0x8000)//{USART_RX_STA=0; for(i=0;i255) {m=0;flag=1;}} if(write_flag==0) {if(flag==1)//{ flag=0;test_flag=1; //Write_Page(usart_buffer,WSector*SectorSize+Write_Address,PageSize); //Write_Address=Write_Address+PageSize; //if(Write_Address>65535){WSector++;Write_Address=0;} if(WSector>32)write_flag=1; } } // Read_Buffer(read_buffer,RSector*SectorSize+Read_Address,1); if(test_flag==1) {test_flag=0;USART1_SendData(Test_Data); }}}

    2016-03-04 09:54