嵌入式
应用市场
软件工程师
展开
-
解决Visual Studio Code在Ubuntu上崩溃的问题
我正在使用Ubuntu系统,每次打开Visual Studio Code时,只能短暂打开一秒钟,然后就会崩溃。当通过终端使用我尝试了删除并重新安装Visual Studio Code,但问题依旧。原创 2024-06-21 21:45:41 · 803 阅读 · 0 评论 -
STM32duino-bootloader:STM32的开源Bootloader深入解析
STM32duino-bootloader项目是一个实现了STM32微控制器的USB DFU bootloader的开源项目,它为STM32的固件远程更新提供了一种可行的解决方案。这个项目展示了如何在STM32平台上实现一个功能强大的bootloader,其中包含了如何使用STM32的硬件特性,如何处理USB通信,以及如何编程STM32的内部闪存。如果你需要为你的STM32项目开发一个bootloader,这个项目无疑是一个很好的参考。对于固件更新,重要的一步是将新的固件写入STM32的内部闪存。原创 2023-06-29 12:10:39 · 1900 阅读 · 0 评论 -
用热敏电阻测温度STM32
adcx=Get_Adc_Average(ADC_Channel_3,20);//»ñȡͨµÀ5µÄת»»Öµ£¬20´Îȡƽ¾ù adcx_f=adcx*(3.3/4096);//adc²É¼¯µ½µçѹֵ r_f=(3.3-adcx_f)/(adcx_f/10000);//µç×èÖµ temp_f = (1/(log(r_f/Rp)/Bx+(1/T...原创 2022-11-15 10:30:07 · 2654 阅读 · 0 评论 -
STM32读取引脚电平的函数
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_11);原创 2022-11-15 10:29:42 · 11171 阅读 · 0 评论 -
在使用DMA方式读取单ADC单通道采集的数据时,发现只能正确的采集一次数据,后来的就一直与第一次的相同。
所以问题就出来,因为我只需要将每一个AD转换的值保存在一个16位的变量中,所以将DMA_BufferSize=1,这就导致我传输一次就结束了,而ADC_CR2的DDS位也没配置,默认是0,即传输完一次后就不会在接受新的DMA请求了。方法就很简单了,直接在ADC初始化的直接给ADC_CR2的DDS位置1void ADC_DMARequestAfterLastTransferCmd(ADC_Ty......原创 2022-07-17 18:41:26 · 3054 阅读 · 0 评论 -
STM32启动流程解析
相对于ARM上一代的主流ARM7/ARM9内核架构,新一代Cortex内核架构的启动方式有了比较大的变化。ARM7/ARM9内核的控制器在复位后,CPU会从存储空间的绝对地址0x000000取出第一条指令执行复位中断服务程序的方式启动,即固定了复位后的起始地址为0x000000(PC = 0x000000)同时中断向量表的位置并不是固定的。而Cortex-M3内核则正好相反,有3种情况:1、 通过boot引脚设置可以将中断向量表定位于SRAM区,即起始地址为0x2000000,同时复位后PC指针位于0x2原创 2022-05-23 17:49:34 · 1762 阅读 · 1 评论 -
STM32之DMA实验
DM简介DMA,全称为:Direct Memory Access,即直接存储器访问。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传输数据的通路,能使CPU的效率大为提高。STM32F767最多有2个DMA控制器(DMA1和DMA2),共16个数据流(每个控制器8个),每一个DMA控制器都用于一个或多个外设的存储器...原创 2022-03-09 19:12:31 · 1533 阅读 · 0 评论 -
STM32控制io输出,控制电平高低的引脚初始化方法
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; ..原创 2022-01-11 13:46:29 · 5568 阅读 · 1 评论 -
ADC的引脚状态初始化状态
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_4 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; GPIO_InitStructure.GPIO_Speed = GPIO_Spe..原创 2021-12-27 21:18:58 · 683 阅读 · 0 评论 -
c语言的空字符结束符-strlen函数
strlen§ 返回p的长度,空字符不计算在内。char ca[] = {'c','+','+'};cout << strlen(ca) <<endlca虽然是一个字符数组,但是它不是以空字符作为结束的,因此上述程序将产生未定义的结果。原创 2021-12-06 08:31:13 · 1281 阅读 · 0 评论 -
STM32 DMA所在时钟总线
原创 2021-12-06 08:30:47 · 751 阅读 · 0 评论 -
arm-qt中文乱码的解决办法
QApplication a(argc, argv); QWSServer::setCursorVisible(FALSE);//禁用鼠标显示 QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); //支持Tr中文原创 2021-12-04 11:11:13 · 604 阅读 · 0 评论 -
使用定时器驱动adc采样
void TIM_Config(void){ NVIC_InitTypeDef NVIC_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; NVIC_InitStructure.NVIC_IRQChanne.原创 2021-12-04 09:14:04 · 1289 阅读 · 0 评论