问答

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

海洋无限

TA的家园币:15911  

  • 大分辨率低端单片机彩屏的显示刷新策略通常是怎么样的?

    像stm32L431这些,ram也不过64K,而一个320*240*RGB565的屏幕一屏数据就有320*240*2=153600bytes,通常是怎么处理的?手上的项目,用的还是spi接口,静态显示按需刷新,卡的要死。。。。

    TFT

    2023-12-14 5
  • 电路疑惑

    本帖最后由MissFortune于2023-12-1219:50编辑各位朋友们,大家好,请教一个问题。如下图所示,来自电网的市电整流滤波之后,用线性稳压器生成一个5V电源,5V电源给单片机供电,单片机通过串口CH340给电脑发送数据。因为没有搞过220V电路,不清楚,这个5V电源和GND如果连接到电脑(台式机和不接电源的笔记本电脑)的USB接口,会不会使得电脑(台式机和不接电源的笔记本电脑)炸机,请各位朋友们解答一下,谢谢朋友们。

  • 求助 此电路总是导致单片机损坏 求原因

    本帖最后由量子纠缠于2023-6-1417:31编辑此电路是直流载波的uart通信短接为了实现可接收自己发出的数据T2CH1接单片机发出的周期100k的CLOCKTXRX都接单片机D9防止灌电流现在问题是设备使用一段时间短则10秒多则几个小时就会导致单片机损坏(单片机的3.3和gnd短路)单片机APM32F103C8T6请教可能是什么原因此电路设计哪里有问题应该怎样改进。补充:vcc是15v直流载波波特率是4800单片机是3,3供电,是从78L12的12v又加了DCDC降到3.3单片机io口是5v耐受的。加光耦隔离肯定是可以的。就是我这板子太小了,放不下。这个设计是别人量产的,不加应该是有办法使用的。---------------------------结论:总线上加个TVS可能是有用的我加的比较大24v的

    2023-05-08 25
  • 关于GD32E230在MDK5环境下用DAP仿真器烧录错误的问题

    大家请教一下,GD32E230用DAP烧录程序的时候出现这样的对话框,有什么解决办法吗,keil5环境下CMSIS-DAP-ARMv8-MErrorCannotaccessMemory(@0xe00ffff0,Read,AccSize:4byte)

  • 大佬们,急问

    本帖最后由tyw于2022-3-912:39编辑我用了新唐M4系列的主控,然后用SPI1想和SPIFlash通信,结果写入和读出的数据不准确,是什么原因。以下是我使用的代码//*****************************************************************************//函数名称:voidSPI_Flash_Send_Add(uint32_tAddress)//函数功能:向SPIFlash发送地址//入口参数://出口参数://说明://*****************************************************************************voidSPI_Flash_Send_Add(uint32_tAddress){SPI_WRITE_TX(SPI1,(Address>>16)&0xff);SPI_WRITE_TX(SPI1,(Address>>8)&0xff);SPI_WRITE_TX(SPI1,Address);/*Waitready*/while(SPI_IS_BUSY(SPI1));}//*****************************************************************************//函数名称:uint8_tSPI_Flash_Read_Data(uint8_t*pRamAddress,uint16_tcnt)//函数功能:从SPIFlash中读取数据到指定地址的Ram区域//入口参数:cnt不能超过SPI传输的最大值!!//出口参数://说明://*****************************************************************************voidSPI_Flash_Read_Buff(uint32_tAddress,uint8_t*pRamAddress,uint16_tcnt){//SendthereadslowcommandSPI_SET_SS_LOW(SPI1);SPI_WRITE_TX(SPI1,SPIFLH_CMD_READSLOW);/*Waitready*/while(SPI_IS_BUSY(SPI1));//SendtheaddressSPI_Flash_Send_Add(Address);//Readnumberofbyteswhile(cnt){//8位,读的好像是32位???SPI_WRITE_TX(SPI1,Dummy_Byte);*pRamAddress++=SPI_READ_RX(SPI1);//读SPIDATAIN数据/*Waitready*///while(SPI_IS_BUSY(SPI1));cnt--;}SPI_SET_SS_HIGH(SPI1);}//*****************************************************************************//函数名称:uint8_tSPI_Flash_Write_Buff//函数功能:将BUFF中的数据写入到SPIFlash的指定地址//入口参数://出口参数://说明://*********************************

    新唐 M4 spi flash

    2022-03-08 6
  • 我这个程序用单片机数码管显示相关内容 反映很慢

    #include"reg52.h"#include"HX711.h"#include"uart.h"#include"LCD1602.h"#include"temp.h"typedefunsignedcharu8;typedefunsignedintu16;u16KEY_NUM=0;unsignedlongHX711_Buffer=0;unsignedlongWeight_Maopi=0;Weight_Shiwu=0;bitFlag_OK=0;sbitkey_stop=P3^0;sbitkey_star=P3^1;sbitkey_fen=P3^2;sbitkey_shi=P3^3;sbitLSA=P2^2;sbitLSB=P2^3;sbitLSC=P2^4;u8DisplayDataTemp[8];u8DisplayWeight[8];u8DisplayData[8];u8codesmgduan[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67,0x6f};u8miao=0;u8fen=0;u8shi=0;u8miao_L,miao_H,fen_L,fen_H,shi_L,shi_H;u8State=1;u16counter=0;voiddelay(u16x){//ÑÓʱº¯Êýwhile(x--);}//delayvoidDelay_ms(u16n){u16i,j;for(i=0;i

    单片机

    2022-03-06 3
  • MCU驱动TFT彩屏 刷屏数据40ms左右传完 但刷屏用了300ms

    MCU使用SPI驱动TFT彩屏系统时钟33.1776MHzSPI频率FOSC/2刷屏数据40ms左右传完了但屏幕实际刷新时间用了300ms以上40ms是在刷屏程序里拉低引脚再拉高引脚然后用逻辑分析仪测出来的,刷屏时间的300ms是录屏后数帧数数出来的请问下这个是哪里的问题,是TFT的初始化有问题吗以下代码#include#include"TFT.h"#include"weather.h"sbitBLK=P5^3;//背光控制sbitRS=P0^5;//数据命令切换线sbitRST=P0^6;//复位线sbitCS=P0^7;//片选sbitSCLK=P1^5;//SPI时钟线sbitMOSI=P1^3;//SPI数据线sbitLED=P5^0;unsignedinttime_i=0;voidTimer0Init(void);voidUartInit(void);bitLcd_Clean=0;bitLcd_color=1;voidmain(){Timer0Init();UartInit();LED=1;ET0=1;EA=1;Lcd_Init();while(1){if(Lcd_Clean){Lcd_Clean=0;if(Lcd_color){Lcd_clear(0x8080);Lcd_color=0;}else{Lcd_clear(0xFFFF);Lcd_color=1;}}}}voidTM0_Isr()interrupt1{time_i++;if(time_i==1000){time_i=0;Lcd_Clean=1;}}voidTimer0Init(void)//1毫秒@33.1776MHz{AUXR|=0x80;//定时器时钟1T模式TMOD&=0xF0;//设置定时器模式TL0=0x66;//设置定时初始值TH0=0x7E;//设置定时初始值TF0=0;//清除TF0标志TR0=1;//定时器0开始计时}voidUartInit(void)//115200bps@33.1776MHz{SCON=0x50;//8位数据,可变波特率AUXR|=0x40;//定时器时钟1T模式AUXR&=0xFE;//串口1选择定时器1为波特率发生器TMOD&=0x0F;//设置定时器模式TL1=0xB8;//设置定时初始值TH1=0xFF;//设置定时初始值ET1=0;//禁止定时器%d中断TR1=1;//定时器1开始计时}voidDelay500ms()//@12.000MHz{unsignedchari,j,k;_nop_();_nop_();i=23;j=205;k=120;do{do{while(--k);}while(--j);}while(--i);}voidSPI_Init()//初始化SPISPI频率为FOSC/2{SPDAT=0;SPSTAT=0xC0;SPCTL=0xDF;}voidLcd_Write_cmd(unsignedcharcmd)//向TFT写入一个命令{CS=0;RS=0;SPDAT=cmd;while(!(SPSTAT&0x80));SPSTAT=0xC0;CS=1;}voidLcd_Write_data(unsignedchardat)//

  • 请教IAP15F2k61s2开机时会误擦除应用程序的问题

    如题,外接晶振33.1776M,自己写引导程序,发现开机时可能会死机,重新下载程序后又正常,有遇到过的嘛,怎么解决的?

  • 程序调试后总出现如下错误,请高手指教

    11-2.C(40):errorC231:'keyscan_num':redefinition11-2.C(41):errorC141:syntaxerrornear'return'11-2.C(41):errorC231:'keyscan_num':redefinition11-2.C(42):errorC141:syntaxerrornear'}'程序如下:#includesbitwr=P3^6;sbitrd=P3^2;sbitkey0=P1^0;//定义P1.0脚的按键为正弦波键key0sbitkey1=P1^1;//定义P1.1脚的按键为方波键key1sbitkey2=P1^2;//定义P1.2脚的按键为三角波键key2sbitkey3=P1^3;//定义P1.3脚的按键为梯形波键key3sbitkey4=P1^4;//定义P1.3脚的按键为锯齿波键key4unsignedcharflag;unsignedcharconstcode//以下为正弦波采样点数组256个数据SIN_code[256]={0x80,0x83,0x86,0x89,0x8c,0x8f,0x92,0x95,0x98,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb0,0xb3,0xb6,0xb9,0xbc,0xbf,0xc1,0xc4,0xc7,0xc9,0xcc,0xce,0xd1,0xd3,0xd5,0xd8,0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xed,0xef,0xf0,0xf2,0xf3,0xf4,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfc,0xfd,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfd,0xfc,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf3,0xf2,0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe3,0xe1,0xde,0xdc,0xda,0xd8,0xd6,0xd3,0xd1,0xce,0xcc,0xc9,0xc7,0xc4,0xc1,0xbf,0xbc,0xb9,0xb6,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x92,0x8f,0x8c,0x89,0x86,0x83,0x80,0x7d,0x79,0x76,0x73,0x70,0x6d,0x6a,0x67,0x64,0x61,0x5e,0x5b,0x58,0x55,0x52,0x4f,0x4c,0x49,0x46,0x43,0x41,0x3e,0x3b,0x39,0x36,0x33,0x31,0x2e,0x2c,0x2a,0x27,0x25,0x23,0x21,0x1f,0x1d,0x1b,0x19,0x17,0x15,0x14,0x12,0x10,0xf,0xd,0xc,0xb,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x3,0x2,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x2,0x3,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xa,0xc,0xd,0xe,0x10,0x12,0x13,0x15,0x17,0x18,0x1a,0x1c,0x1

  • GD32F207VCT6开发板LWIP问题

    我使用GD32开发板下载了以太网模块例程带操作系统和不带操作系统的,用网络调试助手都连不上,但我用cmdping测试可以通,这是什么问题,有没有大佬指导一下。

  • f460是不是没有FSMC,我手册看了好久,都没找到

    是不是没有类似于stm32的fsmc或者叫FMC这类的总线搜索复制

    hc32f460 FSMC fm ST STM

    2022-01-18 7
  • SWCLK 和 SWDIO被误设置

    GD32E230C的板子不小心将PA13和PA14的端口的SWDIO和SWCLK设置成复用了,代码烧录不进去,怎么办,求大佬解决~~

    2021-12-30 4
  • 对于keil5中一些编程术语该去哪里学习(目前在看单片机)

    我是大一新生,想要学习单片机,但是在老师在keil5中敲写的代码中,我不明白为什么要敲这类代码,为什么这行代码要放在这里,请问有哪位高手能告诉我哪里能学习这些基础知识的网站或视频吗?看着keil5中的术语不懂,真的谢谢了

  • stm32的端口初始化可不可以批量操作

    在初始化结构体中的GPIO_Pin能不能用“|“连接同一组端口中的多个引脚

    STM32 端口 pi GPIO 引脚 IO

    2021-11-11 12
  • 单片机的管教能同时用作外部中断和I/O用么?

    外部中断功能的管脚,在进入中断程序以后,能不能关闭中断,然后把这个管脚用作I/O,等程序结束了再打开中断功能?这样是否可行?谢谢

12下一页