问答

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

  • 家人们,PIC串口通信的程序出问题了 sos

    刚学习PIC单片机的小白,用的dsPIC30f4011,程序是买板子送的,/*********************************************************************//*文件说明:uart发送接收*//*硬件配置:MCU:DSPIC30F4011,OSC:使用片外部4M16倍频64MHz振荡器..*//*版本:v1.0*//*使用说明:P7短路帽连接AN0,P6短路帽连接为AVDDAVSS提供标准电源*//*修改记录:*//********************************************************************/#include"p30f4011.h"#include"oled.h"_FOSC(0XC307);//FCKSM=11;时钟切换禁止0111=带有16倍频PLL的XT??16倍频PLL使能的XT晶振模式(晶振频率为4MHz到10MHz_FWDT(0X0000);//关狗_FBORPOR(0X3A3);//MCLREN禁止欠压2.7V上电延时64MS_FGS(0X03);//voidUART_Init(void);voidUART1_TX(unsignedcharc);unsignedcharUART1_RX(void);//接收数据unsignedcharData;voidSystem_Init(void)//系统初始化{OSCCON=0x33e0;//主振荡器新振荡器主振荡器4MHz64分频PLL锁定(使能)TRISB=0x0000;}voidUART_Init(void){U1MODE=0x0000;//8位数据无奇偶校验1停止位U1MODEbits.UARTEN=1;//使能UARTU1STA=0x0000;//状态和控制寄存器U1BRG=((64000000/4/16)/9600)-1;//64MHz波特率9600(按照计算公式)IEC0bits.U1TXIE=1;//发送中断允许IPC2bits.U1TXIP=7;//发送中断优先级7U1STAbits.UTXEN=1;//使能发送IEC0bits.U1RXIE=1;//接收中断允许IPC2bits.U1RXIP=6;//接收中断优先级6}voidUART1_TX(unsignedcharTXData)//发送数据{while(U1STAbits.UTXBF);U1TXREG=TXData;}unsignedcharUART1_RX(void)//接收数据{unsignedcharRXData;while(!U1STAbits.URXDA);RXData=U1RXREG;returnRXData;}voidDelay_1ms(unsignedintt)//t=1000大概1s{unsignedinti,j;for(i=0;i<t;i++)for(j=0;j<100;j++);}intmain(){System_Init();OLED_Init();//初始化OLEDOLED_Clear();UART_Init();disn(4,0,55);disn(5,0,69);disn(6,0,76);disn(7,0,67);disn(8,0,79);disn(9,0

    嵌入式 单片机 串口通信 pic UART TE

    3703浏览 0回复 27关注
  • 有带lin 2.1 模块 的ic没 sos

    MCU如果能带软件协议栈,应用起来就会容易些,比如带lin2.1模块软件协议栈。

    LIN 功能需求 ic 软件 协议栈 MCU

    3731浏览 0回复 22关注
  • king5555 回答了该问题

    n sos

    可以。

    1591浏览 0回复 21关注
  • GD32F207使用硬件IIC实现主机发送,从机中断接收,求例程 sos

    功能实现:多个设备通过IIC总线连接在一起。设备作为主机发送信息,作为从机接收信息使用开发板例程实现IIC主机发送,由于使用很多while循环,无法稳定使用,自己写了一个,通过定时器中断计时,在while中超过10ms就跳出,释放总线。中断接收没有例程,自己写了一个。使用两个IIC交替发送信息,无稳定。A发B收可以,b发A收不到,重启一下就可能B发A收可以,A发B收不到。下载视频所以想求相关例程。

    嵌入式

    5766浏览 0回复 22关注
  • stm32f103zg程序跳转到系统bootloader失败 sos

    目前用的芯片是stm32f103zg,准备使用串口升级程序,看到手册AN2606中,该芯片是支持USART1通过系统bootloader更新程序的。现在的程序是用stm32cubemx生成的,程序如下intmain(void){/*USERCODEBEGIN1*//*USERCODEEND1*//*MCUConfiguration--------------------------------------------------------*//*Resetofallperipherals,InitializestheFlashinterfaceandtheSystick.*/HAL_Init();/*USERCODEBEGINInit*//*USERCODEENDInit*//*Configurethesystemclock*/SystemClock_Config();/*USERCODEBEGINSysInit*//*USERCODEENDSysInit*//*Initializeallconfiguredperipherals*/MX_GPIO_Init();/*USERCODEBEGIN2*//*USERCODEEND2*//*Infiniteloop*//*USERCODEBEGINWHILE*/while(1){/*USERCODEENDWHILE*//*USERCODEBEGIN3*/if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_10)==GPIO_PIN_RESET){JumpToBootloader();}else{JumpToApp();}}/*USERCODEEND3*/}/*USERCODEBEGIN4*/staticvoidJumpToBootloader(void){uint32_ti=0;void(*SysMemBootJump)(void);/*声明一个函数指针*/__IOuint32_tBootAddr=0x1FFFE000;//0x1FFF0000;/*STM32F103的系统BootLoader地址*//*关闭全局中断*/__disable_irq();/*关闭滴答定时器,恢复到默认值*/SysTick->CTRL=0;SysTick->LOAD=0;SysTick->VAL=0;/*设置所有时钟到默认状态,使用HSI时钟*/HAL_RCC_DeInit();/*关闭所有中断,清除中断挂起标志*/for(i=0;i<8;i++){NVIC->ICER=0xFFFFFFFF;NVIC->ICPR=0xFFFFFFFF;}/*使能全局中断*/__enable_irq();/*设置重映射到系统Flash*///__HAL_SYSCFG_REMAPMEMORY_SYSTEMFLASH();/*跳转到系统BootLoader,首地址是MSP,地址+4是复位中断服务程序地址*/SysMemBootJump=(void(*)(void))(*((uint32_t*)(BootAddr+4)));/*设置主堆栈地址*/__set_MSP(*(uint32_t*)BootAddr);/*在RTOS工程,这条语句很重要,设置为特权模式,使用MSP指针*/__set_CONTROL(0);/*跳转到系统BootLoader*

    Bootloader STM32F103 se ic rc TI

    3871浏览 0回复 22关注
  • 华大测试过C++的环境吗?官方头文件都有bug,能C++编程? sos

    以前的架构是用C++写的,在IAR8.3环境工程中option-->language1-->下改为C++支持,移植过来可以编绎过,但跑起来中断啊什么的会有问题。跑官方的例子是没有问题的。可笑的是官方的HC32L110_DDL_Rev1.1.4里部份头文件都有问题:#ifdef__cplusplusextern"C"{#endif.........#ifdef__cplusplus}//这个有的头文件都没有#endif希望有回复,认真点做测试。。。

    国产

    2570浏览 0回复 22关注
  • 用SYSTICK延时stm32f103ZET6的呼吸灯效果 sos

    今天学习了pwm的原理后,尝试用SYSTICK模拟pwm的占空比变化来实现LED的呼吸效果,但没有成功.是因为不使用GPIO的pwm模式就无法输出模拟电压吗?代码如下:intmain(void){u32i;LED_Init();delay_init();while(1){for(i=0xFFFFF;i>0;i--){LED_Output_Low();delay_ms(1);LED_Output_High();delay_ms(9);}for(i=0xFFFFF;i>0;i--){LED_Output_Low();delay_ms(9);LED_Output_High();delay_ms(1);}}}在两个时间段内赋予不同的占空比,跟pwm的原理应该是一样的,但不知道为什么不能实现呼吸灯效果

    stm32f103zet6 呼吸灯 systick LED Output PWM

    3830浏览 0回复 22关注
  • tyw 回答了该问题

    询求MOS管型号 sos

    〓◆贴片代码SMDcodes1780页19.0M超清书签版.pdf◆〓共7册

    3588浏览 0回复 23关注
  • LCMXO2 -640HC 芯片时钟问题 sos

    LCMXO2-640HC没有外接晶振,由STM32f730的PWM提供时钟可以运行起来么?STM32通过SPI往FPGA发数据,10us一组数据,FPGA收到数据通过2M通信频率发送出去,STM32输出PWM给FPGA做为系统时钟运行,请问下,这样可行么?

    HC mx 芯片 时钟 ST FPGA

    3350浏览 0回复 23关注
  • 频谱仪使用方法? sos

    万能的坛友们有没有频谱仪使用的资料?

    频谱仪

    2856浏览 0回复 22关注
  • NIOS II 软核怎么控制FPGA芯片的引脚? sos

    查看一些资料说是通过PIO配置,但是一直搞不懂是怎么控制的?希望有前辈详细讲解一下。

    FPGA芯片 NIOS 引脚 控制 软核 pi

    5538浏览 0回复 23关注
  • 杰发官网781X的ADC例程程序下不进去 sos

    我用KEIL5正常打开然后编译,发现“ADC_simple.h”文件报错,程序也下不进去,大家遇到过这种情况吗

    ADC ADC keil SIM simple 编译

    3399浏览 0回复 22关注
  • 怎么使用两块FPGA实现收发消息呢?并把收集到的波形显示? sos

    实现两块板子的收发消息,是不是要看芯片AD的手册呢?能不能用串口连接呢?最后能输出到示波器上吗?

    波形显示 FPGA实现 串口 示波器 芯片 AD

    8078浏览 0回复 22关注
  • hc-pm51 v5.0 sos

    这几天为什么烧录软件下载时显示'开始下载烧录器连接失败'两个烧录器都一样,不知为什么

    HC 烧录 烧录器 软件 软件下载 烧录软件

    8313浏览 0回复 23关注
  • 用Nuclei Studio打开gd官方例程会无法正常编译 sos

    用NucleiStudio打开gd官方例程会报错,是什么原因,可能是设置不对,不知道有没有遇到同样问题的,怎么解决

    MUC GD32 NUC Studio 编译

    5620浏览 0回复 23关注

没有更多了