Key一哥
获得 2 次赞
帮助过0人
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;//PA3 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA &GPIO_InitStructure); RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART2ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART2DISABLE); 。。。 。。。。 在485通信实验里面,最后两句的函数作用是什么?为什么要用这两个函数?不用可不可以? (希望大神讲的通俗易懂一点)
刚开始学STM32,想问问大家几个问题1.如果写数据到指定的FLASH扇区中,写的数据容量大于该FLASH的扇区容量,那么多出来的数据会自动写入下一个扇区中,还是需要手动操作多出来的数据,如果不操作那么多出来的数据会不会丢失?2.串口接收到的HEX格式的数据,将它存到一个数组中,怎样把这个数组中的数据转换成整数型的数据对它进行操作?3.串口程序好像是每接收一个字节的数据就中断一次,可不可以让它接收一串数据后再中断?希望大家解答,谢谢大家!
我想在STM32的某一路CAN上,挂2路250K速率的CAN外设和1路500K速率的CAN外设,可以吗?STM32中分时切换速率为250K和500K,去读取2种速率的外设。
我的程序是用的是PE.5口 PE_DDR &= ~0x20; //PE.5 //设置为输入 PE_CR1 |= 0x20;//上拉输入 PE_CR2 |= 0x20; //允许中断 EXTI_CR2 &=~MASK_EXTI_CR2_PEIS; //MASK_EXTI_CR2_PEIS =0x03 EXTI_CR2 |=0x01; //仅上升沿触发。这样配置后,我把PE.5口拉低,程序就一直进入#pragma vector=9__interrupt void EXTI_PORTE_IRQHandler(void){}这个函数。这是为什么?
学习了一下原子探索者的IAP实验。它是利用几个特大的缓冲数组接收更新代码(120K的大小),然后将其写入主存储器,最后进行跳转执行新代码。下面是我的问题:1、"定义在主函数中或所有函数之外的全局数组与程序的寿命一样长,不能中途释放.",所以跳转执行新代码后,那个特大的接收缓存数组有没有被释放掉? 如何进行测试?2、利用原子的内存管理进行缓存是否可以?(其实这个问题不想问的,因为我自己测试过。接收是完全没问题,但是在写入Flash时,偶尔会报FLASH_ERROR_PROGRAM错误。)3、如果不是处于实验阶段,bootloader设计需要注意哪一点?(主要就是接收缓存这一块,如果代码过大,缓存不够用)