常见泽1

  • 2023-11-29
  • 回复了主题帖: 【国产高性能运动控制MCU 先楫HPM5361】coremark跑分-CPU性能测试

    1200的得分已经很不错了 

  • 回复了主题帖: 【DigiKey“智造万物,快乐不停”创意大赛】开箱可图形化编程教育游戏掌机喵比特

    这玩意看起来很好玩   不知道能做啥 期待一下

  • 回复了主题帖: SDRAM让人迷惑的地址访问问题

    是因为除了MX_FMC_Init()函数外,还需要启动FMC SDRAM外设的初始化,需要加入的函数 __ 是的 这个必须得加 HAL库生成的代码 得加 我也遇到过

  • 2023-11-27
  • 回复了主题帖: 参加大赛买了183块钱一颗的电阻

    电阻这么贵吗 吓人

  • 回复了主题帖: 【DigiKey“智造万物,快乐不停”创意大赛】使用squareLine创建LVGL图形化界面

    lugl4313820 发表于 2023-11-25 12:25 隔壁的电子工程师。深圳福田区,收获挺大的。还拿了一个奖杯回来。  
    牛逼啊 膜拜大佬

  • 2023-11-24
  • 回复了主题帖: 【DigiKey“智造万物,快乐不停”创意大赛】使用squareLine创建LVGL图形化界面

    lugl4313820 发表于 2023-11-24 08:00 感谢版主大佬的关注与点评,正如昨天我去参加领奖时,国内嵌入式大佬们所说的,优秀的工程师,重在保持初 ...
    大佬 参加的啥颁奖   你这个板子是ST的哪个板子啊

  • 2023-11-01
  • 发表了主题帖: 【STM32F769-discovery开发板】第10篇 SDRAM详细配置测试

    本帖最后由 常见泽1 于 2023-11-1 23:06 编辑   查看F7的原理图, SDRAM部分如下   可以看出SDRAM选型的是MT48LC4M32B2B5(MICRON) 几个关键点:1Mx32x4banks  刷新的话64ms 4096cycle refresh             1.clock and chip enable:看原理图用的是SDNE0 2.banK num:手册里都有 3.ADDRESS DATA:看下图,PS address是12bit,截图接错了             4.SDRAM common clock为SDRAM 时钟配置,可选HCLK的2分频\3分频\不使能SDCLK时钟 主频配置为200MHz,SDRAM common clock设置为2分频,那SDCLK时钟为100MHz,每个时钟周期为10ns 设置一个整数,为了方便计算   SDRAM common burst read 字面意思应该是突发读,这里选择使能 突发读的讲解,摘自网络:读/写操作,都是一次对一个存储单元进行寻址,如果要想要连续的向SDRAM中读数据或者写数据,就需要对当前存储单元的下一个单元进行寻址,也即是需要不停给SDRAM列激活信号以及读/写命令(行地址不变,所以不用再对行寻址)。虽然由于读/写延迟相同可以让数据的传输在I/O端是连续的,但它占用了大量的内存控制资源,在数据进行连续传输时无法输入新的命令,效率很低。为此,人们开发了突发传输技术,只要指定起始列地址与突发长度,SDRAM就会不再需要控制器连续地提供列地址,依次地自动对后面相应数量的存储单元进行读/写操作。 作者:明德扬易老师 https://www.bilibili.com/read/cv20016015/ 出处:bilibili   5.SDRAM common read pipe delay 表示CAS潜伏期后延迟多少个时钟在进行读数据,这里选择0 HCLK clock cycle   上面是对SDRAM控制寄存器1,2(FMC_SDCR1,FMC_SDCR2)相关位进行的配置   6.SDAM BANK选择BANK1 上面决定了只能选BANK1   7.CAS LANTENCY:CAS潜伏期 没找到设置的要求     接下来的是对SDRAM时序寄存器1,2(FMC_SDTR1,FMC_SDTR2)相关位的配置   8.Load mode register to active delay : 加载模式寄存器命令和激活或刷新命令之间的延迟,按存储器时钟周期计 Cube里对参数的定义:Parameter Description: Specifies the delay between a Load Mode Register command and an Active or Refresh command in number of memory clock cycles.   9.Exit self-refresh delay : 从发出自刷新命令到发出激活命令之间的延迟,按存储器时钟周期数计 Parameter Description: Specifies the delay from releasing the Self-refresh command to issuing the Activate command in number of memory clock cycles. 查数据手册知道其最小值为70ns,由于我们每个时钟周期为10ns,所以设为7   10.Self refresh time : 最短的自刷新周期,tRAS Parameter Description: Specifies the minimum Self-refresh period in number of memory clock cycles. 查数据手册知道其最小值为42ns,最大值为100000ns,由于我们每个时钟周期为10ns,所以设为4     11.SDRAM common row cycle delay :  大概意思就是刷新命令和激活命令之间的delay,以及两个相邻刷新命令之间的delay,应该就是tRC Parameter Description: Specifies the delay between the Refresh command and the Activate command, as well as the delay between two consecutive Refresh commands. It is expressed in number of memory clock cycles. 看手册tRC在60-70ns之间,我们周期是10ns,所以tRC赋值了7     12. Write recovery time : 大概意思就是写命令和预充电命令间的delay时间,tWR Parameter Description: Specifies the delay between a Write and a Precharge command in number of memory clock cycles.   按照上面tWR配置成2就够了   13.SDRAM common row precharge delay : 大概意思就是预充电命令与其它命令间的delay,即tRP Parameter Description:Specifies the delay between a Precharge command and another command in number of memory clock cycles. 查数据手册知道其最小值为18ns,由于我们每个时钟周期为10ns,所以设为2     14.Row to column delay : 激活命令与读/写命令之间的delay即tRCD Parameter Description:Specifies the delay between the Activate command and a Read/Write command in number of memory clock cycles.   18ns最小 100MHZ 每个时钟周期是10ns,就取2个HCLK   网上看到的,说必须要满足下面的公式 tWR ≥ tRAS - TRCD tWR ≥ tRC - tRCD - tRP 其中:TWR = Write recovery time = TRAS = Self refresh time = 4 TRC = SDRAM common row cycle delay = 7 TRP = SDRAM common row precharge delay = 2 TRCD = Row to column delay =2   tRC-tRCD-tRP=7-2-2=3,tWD >=3,所以前面tWR取值2改为3   用cubemx创建工程,这个SDRAM是必须要添加代码的。 MX_FMC_Init() 函数实现对FMC的配置, HAL_SDRAM_Init() 中 HAL_SDRAM_MspInit() 对FMC用到的pin初始化,调用 FMC_SDRAM_Init() 和 FMC_SDRAM_Timing_Init() 对FMC的控制进行初始化。但还不能正确读写SDRAM,因为SDRAM在正式工作之前,还需要一个SDRAM初始化的函数。 我们需要从STM32F769I-DISCO的工程里找到SDRAM的例程,在从例程里复制SDRAM做初始化的函数:BSP_SDRAM_Initialization_Sequence() 到我们的main.c 中   static void BSP_SDRAM_Initialization_Sequence(SDRAM_HandleTypeDef *hsdram, FMC_SDRAM_CommandTypeDef *Command) {   __IO uint32_t tmpmrd =0;   /* Step 3:  Configure a clock configuration enable command */   Command->CommandMode = FMC_SDRAM_CMD_CLK_ENABLE;   Command->CommandTarget = FMC_SDRAM_CMD_TARGET_BANK1;   Command->AutoRefreshNumber = 1;   Command->ModeRegisterDefinition = 0;   /* Send the command */   HAL_SDRAM_SendCommand(hsdram, Command, SDRAM_TIMEOUT);   /* Step 4: Insert 100 us minimum delay */   /* Inserted delay is equal to 1 ms due to systick time base unit (ms) */   HAL_Delay(1);   /* Step 5: Configure a PALL (precharge all) command */   Command->CommandMode = FMC_SDRAM_CMD_PALL;   Command->CommandTarget = FMC_SDRAM_CMD_TARGET_BANK1;   Command->AutoRefreshNumber = 1;   Command->ModeRegisterDefinition = 0;   /* Send the command */   HAL_SDRAM_SendCommand(hsdram, Command, SDRAM_TIMEOUT);   /* Step 6 : Configure a Auto-Refresh command */   Command->CommandMode = FMC_SDRAM_CMD_AUTOREFRESH_MODE;   Command->CommandTarget = FMC_SDRAM_CMD_TARGET_BANK1;   Command->AutoRefreshNumber = 8;   Command->ModeRegisterDefinition = 0;   /* Send the command */   HAL_SDRAM_SendCommand(hsdram, Command, SDRAM_TIMEOUT);   /* Step 7: Program the external memory mode register */   tmpmrd = (uint32_t)SDRAM_MODEREG_BURST_LENGTH_1          |                      SDRAM_MODEREG_BURST_TYPE_SEQUENTIAL   |                      SDRAM_MODEREG_CAS_LATENCY_2           |                      SDRAM_MODEREG_OPERATING_MODE_STANDARD |                      SDRAM_MODEREG_WRITEBURST_MODE_SINGLE;   Command->CommandMode = FMC_SDRAM_CMD_LOAD_MODE;   Command->CommandTarget = FMC_SDRAM_CMD_TARGET_BANK1;   Command->AutoRefreshNumber = 1;   Command->ModeRegisterDefinition = tmpmrd;   /* Send the command */   HAL_SDRAM_SendCommand(hsdram, Command, SDRAM_TIMEOUT);   /* Step 8: Set the refresh rate counter */   /* (15.62 us x Freq) - 20 */   /* Set the device refresh counter */   hsdram->Instance->SDRTR |= ((uint32_t)((1292)<< 1)); }   这个函数有2个需要注意修改的地方:   (1)例程 FMC_SDRAM  中的 CAS Latency 是2,对应地设置SDRAM模式寄存器时也是2。而我们在CUBEMX中将CAS Latency 配置为2,则设置SDRAM模式寄存器时SDRAM_MODEREG_CAS_LATENCY_2:   (2) SDRTR的值 要求最慢在64ms内对4096行(对应12-bit行地址空间)完成刷新,就是说64ms要刷4096次,所以每刷一次的时间间隔是 64ms÷4096=15.625us。   换算成SDRAM的CLK(即SDCLK,100MHz):15.625us÷(1/100us)=1562。     看F7的参考手册,刷新率必须要在上面公式的基础上再减去20个SDRAM的时钟周期,即1562-20=1542。例程中用的数字是1292,则刷新周期在54ms左右。一旦完成刷新参数设置(写到 SDRTR 寄存器中),FMC立即自动开始刷新,即每隔大约60ms,MCU通过FMC向SDRAM发送一条刷新指令。   添加SDRAM测试的函数 void SDRAM_Test() {   Fill_Buffer(aTxBuffer, 0x10, 0xA244250F); #define SDRAM_BANK_ADDR                 ((uint32_t)0xC0000000)   /* Write data to the SDRAM memory */   for (uwIndex = 0; uwIndex < 0x10; uwIndex++)   {     *(__IO uint32_t*) (SDRAM_BANK_ADDR + 0xc00 + 4*uwIndex) = aTxBuffer[uwIndex];   }   /* Read back data from the SDRAM memory */   for (uwIndex = 0; uwIndex < 0x10; uwIndex++)   {     aRxBuffer[uwIndex] = *(__IO uint32_t*) (SDRAM_BANK_ADDR + 0xc00 + 4*uwIndex);   } } BANK的地址看手册 因为之前选的是BANK1   下面开始测试了             再查看下我们配置的地址     正确 OK      

  • 回复了主题帖: 有奖话题:说说,国产最能打的Arm架构的MCU?

    用过全志H6 还行

  • 2023-10-30
  • 回复了主题帖: 《运算放大器参数解析与LTspice应用仿真》第三篇 第二章学习运放指标

    zhaoyanhao 发表于 2023-10-30 08:56 “定义:在运放开环使用时, 加载在两个输入端之间的直流电压使得放大器直流输出电压为 0。”这 ...
    开环使用 

  • 2023-10-29
  • 发表了主题帖: 《运算放大器参数解析与LTspice应用仿真》第三篇 第二章学习运放指标

    第二章主要讲解了一些运放的参数解析 书上讲解的比较详细,大家可以仔细研读   也结合网上的一些资料做了一些简单整理, 整理了一些认为平时比较常用的参数   静态特性:   (1)输入失调电压 定义:在运放开环使用时, 加载在两个输入端之间的直流电压使得放大器直流输出电压为 0。 现在的运放输入失调电压很多都可以做的很小很小了   为什么会有输入失调电压Vos? 运放输入级,BJT/CMOS组成的差分放大电路,理论上完全对称。然而,受工艺所限,不匹配的输入级,导致了输入失调电压。   (2)共模抑制比 CMRR: Common mode rejection ratio 什么是共模抑制比CMRR? 差分信号放大倍数/共模信号放大倍数 越大的CMRR,对抑制开关噪声(共模干扰),越有效果。   还有个指标好像叫电源抑制比   (3)输入阻抗(Input Impedance) 输入阻抗是指运算放大器对输入信号的阻抗。较高的输入阻抗可以避免对输入信号的干扰,提高系统的灵敏度和稳定性。     动态特性: 对高频的影响比较大   (1)压摆率 SR: Slew rate 什么是SR? 运放输出电压的转换速率。通常单位为V/us   某信号需要快速保护,摆率会影响这个信号的延迟。   (2)-3dB闭环带宽 -3dB带宽是指运放增益下降3dB时的带宽,通常用Hz表示。-3dB带宽与单位增益带宽之间有一个关系,即-3dB带宽等于单位增益带宽乘以开环增益下降3dB时的频率与单位增益带宽的比值。 功率折半频率点,3db也叫半功率点或截止功率点,该点的功率为其总功率的一半。  

  • 发表了主题帖: 【STM32F769-discovery开发板】第九篇 网络通信

      这一篇主要测试下STM32F769的网络功能 下图可以看出STM32F769Nx带网络 但是STM32F769AX是不带网络的 DISO是带网络的       找找看,官方有测试程序 LWIP的SOCKET程序   找一下硬件电路图   网络芯片用的是LAN8742 之前板子用的比较多的应该是LAN8720和DP83848   DP83848支持MII和RMII模式,之前STM32F10X 评估板用的就是兼容性设计 但是LAN8720和LAN8742是支持RMII模式的   看网上的资料LAN8742应该是比8720多了一个WOL网络唤醒功能   DP83848和LAN8720 LAN8742的设备地址不一样,DP83848地址是0X01,LAN是0x00   这里面配置地址   int32_t LAN8742_Init(lan8742_Object_t *pObj) { uint32_t tickstart = 0, regvalue = 0, addr = 0; int32_t status = LAN8742_STATUS_OK; if(pObj->Is_Initialized == 0) { if(pObj->IO.Init != 0) { /* GPIO and Clocks initialization */ pObj->IO.Init(); } /* for later check */ pObj->DevAddr = LAN8742_MAX_DEV_ADDR + 1; /* Get the device address from special mode register */ for(addr = 0; addr <= LAN8742_MAX_DEV_ADDR; addr ++) { if(pObj->IO.ReadReg(addr, LAN8742_SMR, &regvalue) < 0) { status = LAN8742_STATUS_READ_ERROR; /* Can't read from this device address continue with next address */ continue; } if((regvalue & LAN8742_SMR_PHY_ADDR) == addr) { pObj->DevAddr = addr; status = LAN8742_STATUS_OK; break; } } if(pObj->DevAddr > LAN8742_MAX_DEV_ADDR) { status = LAN8742_STATUS_ADDRESS_ERROR; } ETH 硬件IO口初始化函数 void HAL_ETH_MspInit(ETH_HandleTypeDef *heth) { GPIO_InitTypeDef GPIO_InitStructure; /* Enable GPIOs clocks */ __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOG_CLK_ENABLE(); /* Ethernet pins configuration ************************************************/ /* RMII_REF_CLK ----------------------> PA1 RMII_MDIO -------------------------> PA2 RMII_MDC --------------------------> PC1 RMII_MII_CRS_DV -------------------> PA7 RMII_MII_RXD0 ---------------------> PC4 RMII_MII_RXD1 ---------------------> PC5 RMII_MII_TX_EN --------------------> PG11 RMII_MII_TXD0 ---------------------> PG13 RMII_MII_TXD1 ---------------------> PG14 */ /* Configure PA1, PA2 and PA7 */ GPIO_InitStructure.Speed = GPIO_SPEED_HIGH; GPIO_InitStructure.Mode = GPIO_MODE_AF_PP; GPIO_InitStructure.Pull = GPIO_NOPULL; GPIO_InitStructure.Alternate = GPIO_AF11_ETH; GPIO_InitStructure.Pin = GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_7; HAL_GPIO_Init(GPIOA, &GPIO_InitStructure); /* Configure PC1, PC4 and PC5 */ GPIO_InitStructure.Pin = GPIO_PIN_1 | GPIO_PIN_4 | GPIO_PIN_5; HAL_GPIO_Init(GPIOC, &GPIO_InitStructure); /* Configure PG11, PG13 and PG14 */ GPIO_InitStructure.Pin = GPIO_PIN_11 | GPIO_PIN_13 | GPIO_PIN_14; HAL_GPIO_Init(GPIOG, &GPIO_InitStructure); /* Enable the Ethernet global Interrupt */ HAL_NVIC_SetPriority(ETH_IRQn, 0x7, 0); HAL_NVIC_EnableIRQ(ETH_IRQn); /* Enable ETHERNET clock */ __HAL_RCC_ETH_CLK_ENABLE(); }   下载程序 接上网线,开始识别网络     显示屏上显示IP地址位192.168.0.10 开始ping       Ping不通,肯定是电脑的IP不对   修改IP     继续ping,ping通了   测试了几十分钟很稳定  

  • 2023-10-28
  • 发表了主题帖: 【STM32F769-discovery开发板】第八篇 最大频率测试

      这一篇主要测试下STM32F769的最大能够跑的频率 从手册里可以明显看出来 标称的是216MHz最大频率 大家都知道肯定可以一定的超频 比如STM32F407、STM32F103都能一定程度的超频 看看这个能超频到多少   通过CUBE来配置 修改PLLM N P的系数       配置成250MHz       测试OK   配置成320MHz         没问题     配置成350MHz                   运行出错     降低到330M         实际能跑大概在320M-330MH左右 这只是最简单的能跑的最大频率 如果搭载复杂的外设什么的,频率会有区别   其他功能没有全部测试    

  • 2023-10-24
  • 回复了主题帖: 《运算放大器参数解析与LTspice应用仿真》第二篇 第一章运放负反馈仿真学习

    秦天qintian0303 发表于 2023-10-24 08:57 这是用什么仿真的?  
    就是ADI官方的 LTSPICE 感觉还蛮好用的

  • 回复了主题帖: 【STM32F769-discovery开发板】第七篇 Rtthread工程CubeMX生成入门

    lugl4313820 发表于 2023-10-23 17:51 这是rtthread nano吧,用rtthread studio,不是方便一些?
    是的  应该会更方便 没用过 CUBE比较熟悉就用CUBE了

  • 2023-10-23
  • 发表了主题帖: 《运算放大器参数解析与LTspice应用仿真》第二篇 第一章运放负反馈仿真学习

    这本书第一章讲解的都是比较基础的 正反馈和负反馈主要讲解,一些运放的基础知识,看了第一章结合网上的一些资料,简单回忆了大学学到的一些知识   放大器,利用虚短和虚断来完成,下面做一些简单的仿真练习   同向放大器:   Vo=Vi*(R1+R2)/R2 Vo=2Vi         从输出波形基本一目了然   反向放大器:     利用虚短虚断可以得出   Vo=(-R2/R1)*Vi       Vo=-3Vi,看波形基本正确  

  • 2023-10-22
  • 回复了主题帖: 【NUCLEO-H743ZI】2、coremark跑分测试串口打印结果

    看看能不能超频跑跑

  • 发表了主题帖: 【STM32F769-discovery开发板】第七篇 Rtthread工程CubeMX生成入门

      打开CubeMX,CubeMX本身是不自带RTT组件的,需要自己安装 选择管理组件 添加新的PACK 添加Url,把网上找的Rt-thread链接放进去 点check->OK         开始下载 下载速度还是很快的         安装完毕   在Cube工程里把RTTHREAD 三个全都勾选上       RTTHREAD的默认参数都不改了,都直接默认   以前的CubeMx好像取消HardFault_Handler、PendSV_Handler、SysTick_Handler中断函数(RTT已经定义了,需要在CubeMX上取消) 现在好像不需要了,我看生成的里面直接写了manage by RTOS   除了这个Hard fault好像需要去掉勾     RTTHRAED部分配置好了 下面开始配置GPIO部分       不建议HAL库和RTOS使用一个时钟源           设置完成后生成工程 int main(void) { // HAL_Init(); // SystemClock_Config(); // MX_GPIO_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ LED_Thread = rt_thread_create("LED", /* 线程名字 */ LED_Thread_Entry, /* 线程入口函数 */ RT_NULL, /* 线程入口函数参数 */ 512, /* 线程栈大小 */ 3, /* 线程的优先级 */ 20); /* 线程时间片 */ if(LED_Thread != RT_NULL) { rt_thread_startup(LED_Thread); } else { return -1; } /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { } }   static void LED_Thread_Entry(void *parameter) { while(1) { HAL_GPIO_WritePin(GPIOJ, GPIO_PIN_13|GPIO_PIN_5, GPIO_PIN_RESET); //HW_Led1_On(); rt_thread_delay(500); HAL_GPIO_WritePin(GPIOJ, GPIO_PIN_13|GPIO_PIN_5, GPIO_PIN_SET); rt_thread_delay(500); } }   在rt_hw_board_init函数里添加GPIO初始化函数   void rt_hw_board_init(void) { extern void SystemClock_Config(void); HAL_Init(); SystemClock_Config(); SystemCoreClockUpdate(); MX_GPIO_Init(); /* * 1: OS Tick Configuration * Enable the hardware timer and call the rt_os_tick_callback function * periodically with the frequency RT_TICK_PER_SECOND. */ HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/RT_TICK_PER_SECOND);   加入GPIO初始化函数   添加头文件   生成OK 下载进去后,看到LED灯闪烁

  • 2023-10-19
  • 回复了主题帖: 【STM32F769-discovery开发板】第六篇 CoreMark跑分

    秦天qintian0303 发表于 2023-10-19 09:08 我也去研究一下这个CoreMark跑分,跑分过程中是不是外设都要关掉啊
    除了串口 基本其他外设都没有开时钟的

  • 2023-10-18
  • 发表了主题帖: 《运算放大器参数解析与LTspice应用仿真》第一篇 第一章运放正反馈学习

    第一章主要讲解了运算放大器的基础,我也算是初学者了,已经差不多十年没有看硬件电路了 正负反馈的判断使用瞬时极性法。瞬时极性是一种假设的状态,它假设在放大电路的输入端引入一瞬时增加的信号。这个信号通过放大电路和反馈回路回到输入端。反馈回来的信号如果使引入的信号增加则为正反馈,否则为负反馈。   正反馈       按照逻辑和书上仿真下面电路         施密特触发器             施密特触发电路是一种波形整形电路,当任何波形的信号进入电路时,输出在正、负饱和之间跳动,产生方波或脉波输出。    按照书中的例程进行仿真学习 使用ADA4077-2实现施密特电路功能 工作电压正负12V,激励信号VS幅值位正负12V,频率位1KHz正弦波 监控输入VI和输出VO波形   仿真结果如图所示     反馈电压的上线为6V,下限为-6V 当Vi电压超过6V时,输出电压变为-12V 当Vi电压下降低于-6V时,输出电压变为12V

  • 2023-10-17
  • 发表了主题帖: 【STM32F769-discovery开发板】第六篇 CoreMark跑分

    CoreMark跑分选用的工程是前一篇串口6的工程, 打开工程添加C文件的Group   添加路径     修改堆栈大小,不然跑步起来   修改core_portme.c里的函数portable_init() 把之前main函数的初始化函数移过来 把SystemClock_Config, MX_USART1_UART_Init 和 MX_GPIO_Init 函数拷贝到core_portme.c, 并添将加 printf 重定向的代码。   core_portme.c文件里添加声明和变量定义   添加ITERATIONS定义 #define ITERATIONS 10000///at least 10s #ifndef COMPILER_FLAGS#define COMPILER_FLAGS "-Omax" /* "Please put compiler flags here (e.g. -o3)" */   时间计时处理修改     编译器如此配置     不行,跑分很低 才500多分 重新选择编译器和优化等级 换一个编译器和优化       KEIL跑分884分,基本符合STM32F769的跑分 OK

统计信息

已有2265人来访过

  • 芯积分:1408
  • 好友:40
  • 主题:473
  • 回复:6552
  • 课时:--
  • 资源:193

留言

你需要登录后才可以留言 登录 | 注册


zzf2355 2013-6-8
您好,请问学习msp430g2553需要哪些手册?能否讨个!邮箱:zzf2355@live.com。现在是大二学生,急需学习!
soso 2011-1-18
常见泽1: SOSO姐
查看全部