问答

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

21ic问答首页 - TAG - UART1
  • 赛元SC92F8463B的SSI中使用UART1与其他芯片通信问题

    代码如下,程序没有报错,想实现的目的是,通过UART1发送A5 5A 00H给另外的芯片,发送成功会有声音响起,但是没有反应,烦请路过的大佬帮忙看看,不胜感激! #include "Function_Init.H" #include "stdio.H" //选择三合一模式: #define Uart1 0 #define TWI 1 #define SPI 2 #define SSI_Mode Uart1 void Uart1_Init(uint Freq,unsigned long int baud); void UART1_SendByte(unsigned char dat); void Delay_ms(unsigned int ms); bit Uart1SendFlag = 0; //Uart发送中断标志位 bit Uart1ReceiveFlag = 0; //Uart接收中断标志位 // 主函数 void main(void) { // 初始化UART1 Uart1_Init(20,460800); // 延时确保硬件稳定 Delay_ms(100); // 发送控制指令 A5 5A 00 播放第一首歌曲 UART1_SendByte(0x00); //唤醒信号 Delay_ms(100); UART1_SendByte(0xA5); Delay_ms(100); UART1_SendByte(0x5A); Delay_ms(100); UART1_SendByte(0x00); Delay_ms(100); while(1) { // 主循环中可以添加其他功能 } } void Uart1_Init(uint Freq,unsigned long int baud) { P2CON &= 0xFC; //TX/RX设置为输入带上拉 P2PH |= 0x03; OTCON |= 0xC0; //串行接口SSI选择Uart1通信 SSCON0 = 0x50; //设置通信方式为模式一,允许接收 SSCON1 = Freq*1000000/baud; //波特率低位控制 SSCON2 = (Freq*1000000/baud)>>8; //波特率高位控制 IE1 |= 0x01; //开启SSI中断 EA = 1; TMCON = 0X07; //------111 ;Timer0、Tiemr1和Tiemr2选择时钟Fsys TMOD |= 0x20; //0010 0000;Timer1设置工作方式2 TL1 = 0xFC; //溢出时间:时钟为Fsys,则240*(1/Fsys)=20us; TH1 = 0xFC; TR1 = 0; ET1 = 1;//定时器1允许 TR1 = 1;//打开定时器1 } void Uart1_Int() interrupt 7 //Uart1中断函数 { if(SSCON0&0x02) //发送标志位判断 { SSCON0 &= 0xFD; Uart1SendFlag = 1; } if((SSCON0&0x01)) //接收标志位判断 { SSCON0 &= 0xFE; Uart1ReceiveFlag = 1; } } void UART1_SendByte(unsigned char dat) { TB8 = 0; // 第9位数据设为0 (通常用于奇偶校验,这里不用) SBUF = dat; // 将数据放入发送缓冲区 while(!TI); // 等待发送完成 TI = 0; // 清除发送中断标志 } // 简单延时函数 void Delay_ms(unsigned int ms) { unsigned int i, j; for(i = 0; i < ms; i++) for(j = 0; j < 2000; j++); // 调整循环次数适应20MHz时钟 }

    单片机 嵌入式 赛元 UART1 SC92F

    1381浏览量 4回复量 关注量
  • 请问下ARM v9的仿真器能调试串口功能吗? 赏100家园币

    目前用ARM v9的4根线对接了GD32的4个针(vcc、gnd、dio、clk),另外一个数据线接到pc的usb口上。这样下载没有问题,但是用串口助手调试uart时,找不到找不到串口。请问有办法吗?谢谢目前的连线: [url=/data/attachment/album/202408/14/115230vio6d61i1dp11pow.jpg][img]/data/attachment/album/202408/14/115230vio6d61i1dp11pow.jpg[/img][/url][url=/data/attachment/album/202408/14/115230vio6d61i1dp11pow.jpg][img]/data/attachment/album/202408/14/115230vio6d61i1dp11pow.jpg[/img][/url]

    仿真器 串口 调试 V9 ARM UART1

    5920浏览量 6回复量 关注量
  • MM32设置Boot模式后通过UART1下载固件的工具是哪个 sos

    手册中描述可以通过设置Boot模式后,可通过UART1下载固件。咨询UART1下载的工具是怎样的,是否可以使用STM32的工具,目前还没开发板,暂无法尝试,咨询群里各位大神 2.2.11 启动模式 Boot Modes [size=10pt]在启动时,通过 [/size][size=10pt]BOOT0/1 [/size][size=10pt]引脚可以选择三种启动模式中的一种: [/size]• [size=10pt]从片内 [/size][size=10pt]Flash [/size][size=10pt]启动 [/size]• [size=10pt]从系统存储区启动 [/size]• [size=10pt]从片内 [/size][size=10pt]SRAM [/size][size=10pt]启动 [/size][size=10pt]Bootloader [/size][size=10pt]程序位于系统存储区。从系统存储区启动 [/size][size=10pt]Bootloader [/size][size=10pt]之后,可通过[/size][size=10pt]UART1 [/size][size=10pt]对片内 [/size][size=10pt]FLASH [/size][size=10pt]重新编程[/size]

    固件 boot模式 UART1 存储区 BOOTLOAD AD

    2501浏览量 0回复量 关注量
  • UART I/O 重映射问题

    请问大佬,MM32W062怎么样吧UART1映射到PB6/PB7,求指教,谢谢

    UART 映射 I/O UART1

    1176浏览量 2回复量 关注量