头像-236617

無唁苡對

  • 河北省
  • 单片机 FPGA/CPLD

个人成就

获得 19 次赞

帮助过8人

FPGA的pll配置

如图,请问这是什么问题???

quartus prime的pll设置

这两个错误是什么原因?为什么建立不了PLL??

fpga的双向口

qcmd我定义的双向口,但是输入没反应,输出也不对,是不是定义不对。

VHDL输入输出引脚

我定义了两个输入输出引脚,但是qcmd这个引脚给它输入时没反应,输出也不对,是不是引脚定义不对,贴出部分代码。

stm8s驱动tft lcd,驱动芯片是 ILI9325

lcd一直白屏,贴出代码,帮忙看看。,谢谢main.c源代码#include "stm8s.h"#include "lcd.h"static void CLK_Config(void);static void UART_Config(void);void delay_ms(u16 i);/* Private functions ---------------------------------------------------------*/void delay_ms(u16 i){  u8 mn;  while(i--)  {    for(m=0;m<39;m++)      for(n=0;n<100;n++);  }}/**  * @brief  Main program.  * @param  None  * @retval None  */void main(void){  CLK_Config();  GPIO_Config(); // UART_Config();      LCD_Init();  LCD_Clear(black);  LCD_SetWindows(00100150);  //设置显示窗体  LCD_Clear(red);  LCD_SetWindows(00240320);  //设置显示窗体  while (1)  {    LCD_Text(1010"kuibu");    delay_ms(10000);  }}​lcd.h代码:#define LCD_CS    GPIO_PIN_1#define LCD_RS    GPIO_PIN_2#define LCD_WR    GPIO_PIN_3#define LCD_E    GPIO_PIN_4#define LCD_RST   GPIO_PIN_5#define Set_Cs  GPIO_WriteHigh(LCD_CS_PORTLCD_CS)#define Clr_Cs  GPIO_WriteLow(LCD_CS_PORTLCD_CS)#define Set_Rs  GPIO_WriteHigh(LCD_RS_PORTLCD_RS)#define Clr_Rs  GPIO_WriteLow(LCD_RS_PORTLCD_RS)#define Set_nWr  GPIO_WriteHigh(LCD_WR_PORTLCD_WR)#define Clr_nWr  GPIO_WriteLow(LCD_WR_PORTLCD_WR)#define Set_E  GPIO_WriteHigh(LCD_E_PORTLCD_E)#define Clr_E  GPIO_WriteLow(LCD_E_PORTLCD_E) #define Set_RST  GPIO_WriteHigh(LCD_RST_PORTLCD_RST)#define Clr_RST  GPIO_WriteLow(LCD_RST_PORTLCD_RST)  #define Set_nRd  GPIO_WriteHigh(LCD_RST_PORTLCD_RST)#define Clr_nRd  GPIO_WriteLow(LCD_RST_PORTLCD_RST)  void LCD_Init(void);void LCD_WriteIndex(u16 index);void LCD_WriteData(u16 data);void LCD_WriteReg(u16 LCD_Regu16 LCD_RegValue);void LCD_SetCursor( u16 Xpos u16 Ypos );void LCD_Clear(u16 Color);void GPIO_Config(void);void LCD_Text(u16 x u16 y u8 *str);void LCD_SetWindows(u16 StartXu16 StartYu16 EndXu16 EndY);void delay_ms(u16 i);#endif​lcd.c源代码#include "lcd.h"#include "stm8s.h"#define  ILI9320    0  /* 0x9320 */#define  ILI9325    1  /* 0x9325 */#define  ILI9328    2  /* 0x9328 */#define  ILI9331    3  /* 0x9331 */#define  SSD1298    4  /* 0x8999 */#define  SSD1289    5  /* 0x8989 */#define  ST7781     6  /* 0x7783 */#define  LGDP4531   7  /* 0x4531 */#define  SPFD5408B  8  /* 0x5408 */#define  R61505U    9  /* 0x1505 0x0505 */   #define  HX8347D    10 /* 0x0047 */#define  HX8347A    11 /* 0x0047 */ #define  LGDP4535   12 /* 0x4535 */  #define  SSD2119    13 /* 3.5 LCD 0x9919 */void LCD_Init(void);void LCD_WriteIndex(u16 index);void LCD_WriteData(u16 data);void LCD_WriteReg(u16 LCD_Regu16 LCD_RegValue);void LCD_SetCursor( u16 Xpos u16 Ypos );void LCD_Clear(u16 Color);void GPIO_Config(void);void LCD_Text(u16 x u16 y u8 *str);void LCD_SetWindows(u16 StartXu16 StartYu16 EndXu16 EndY);/* 写命令函数 */void LCD_WriteIndex(u16 index){  u8 index1index2;  index1=(u8)index;  index2=(u8)(index>>8);  Clr_Rs; //RS=0  Set_nRd; //RD=0  delay_ms(1); //延时  GPIO_Write(LCD_DATA1_PORTindex2);  GPIO_Write(LCD_DATA2_PORTindex1); /*写命令 */  delay_ms(1); //延时  Clr_nWr; //WR=0  Set_nWr; //WR=1  }/* 写数据函数 */void LCD_WriteData(u16 data){  u8 data1data2;  data1=(u8)data;  data2=(u8)(data>>8);  Set_Rs; //RS=1  Set_nRd; //RD=0  delay_ms(1); //延时  GPIO_Write(LCD_DATA1_PORTdata1);  GPIO_Write(LCD_DATA2_PORTdata2); /*写数据*/  delay_ms(1); //延时  Clr_nWr; //WR=0  Set_nWr; //WR=1}/*指定的地址写入数据, LCD_Reg 是地址, LCD_RegValue 是写入的值*/void LCD_WriteReg(u16 LCD_Regu16 LCD_RegValue){  Clr_Cs;  LCD_WriteIndex(LCD_Reg); //写指令;即要写入数据的地址;  LCD_WriteData(LCD_RegValue); //数据写入;  Set_Cs;}//初始化LCD12864void LCD_Init(void){  GPIO_Config();  Clr_RST; /* LCD 复位*/  delay_ms(100);  Set_RST;  GPIO_WriteHigh(GPIOCGPIO_PIN_6); /*使能背光 */  LCD_WriteReg(0x00e70x0010);        LCD_WriteReg(0x00000x0001);   /* start internal osc */   LCD_WriteReg(0x0001(0<<10)|(1<<8));  LCD_WriteReg(0x00020x0700); /* power on sequence */  #if (DISP_ORIENTATION == 0)  LCD_WriteReg(0x0003(1<<12)|(1<<5)|(1<<4)|(0<<3));  #elif (DISP_ORIENTATION == 90)  LCD_WriteReg(0x0003(1<<12)|(0<<5)|(1<<4)|(1<<3));   #elif (DISP_ORIENTATION == 180)  LCD_WriteReg(0x0003(1<<12)|(0<<5)|(0<<4)|(0<<3));  #elif (DISP_ORIENTATION == 270)  LCD_WriteReg(0x0003(1<<12)|(1<<5)|(0<<4)|(1<<3));  #endif  LCD_WriteReg(0x00040x0000);      LCD_WriteReg(0x00080x0207);             LCD_WriteReg(0x00090x0000);           LCD_WriteReg(0x000a0x0000); /* display setting */          LCD_WriteReg(0x000c0x0001); /* display setting */          LCD_WriteReg(0x000d0x0000);          LCD_WriteReg(0x000f0x0000);  /* Power On sequence */  LCD_WriteReg(0x00100x0000);     LCD_WriteReg(0x00110x0007);  LCD_WriteReg(0x00120x0000);                                                                   LCD_WriteReg(0x00130x0000);                   delay_ms(50);  /* delay 50 ms */   LCD_WriteReg(0x00100x1590);     LCD_WriteReg(0x00110x0227);  delay_ms(50);  /* delay 50 ms */   LCD_WriteReg(0x00120x009c);                    delay_ms(50);  /* delay 50 ms */   LCD_WriteReg(0x00130x1900);     LCD_WriteReg(0x00290x0023);  LCD_WriteReg(0x002b0x000e);  delay_ms(50);  /* delay 50 ms */          delay_ms(50);  /* delay 50 ms */   LCD_WriteReg(0x00300x0007);   LCD_WriteReg(0x00310x0707);     LCD_WriteReg(0x00320x0006);  LCD_WriteReg(0x00350x0704);  LCD_WriteReg(0x00360x1f04);   LCD_WriteReg(0x00370x0004);  LCD_WriteReg(0x00380x0000);          LCD_WriteReg(0x00390x0706);       LCD_WriteReg(0x003c0x0701);  LCD_WriteReg(0x003d0x000f);  delay_ms(50);  /* delay 50 ms */   LCD_WriteReg(0x00500x0000);          LCD_WriteReg(0x00510x00ef);     LCD_WriteReg(0x00520x0000);       LCD_WriteReg(0x00530x013f);  LCD_WriteReg(0x00600xa700);          LCD_WriteReg(0x00610x0001);   LCD_WriteReg(0x006a0x0000);  LCD_WriteReg(0x00800x0000);  LCD_WriteReg(0x00810x0000);  LCD_WriteReg(0x00820x0000);  LCD_WriteReg(0x00830x0000);  LCD_WriteReg(0x00840x0000);  LCD_WriteReg(0x00850x0000);  LCD_WriteReg(0x00900x0010);       LCD_WriteReg(0x00920x0600);    LCD_WriteReg(0x00930x0003);  LCD_WriteReg(0x00950x0110);  LCD_WriteReg(0x00970x0000);          LCD_WriteReg(0x00980x0000);  /* display on sequence */      LCD_WriteReg(0x00070x0133);  delay_ms(10);  LCD_WriteReg(0x00200x0000);   LCD_WriteReg(0x00210x0000);}//设置显示窗口的位置 X/Yvoid LCD_SetCursor( u16 Xpos u16 Ypos){           LCD_WriteReg(0x0020 Xpos);        LCD_WriteReg(0x0021 Ypos);    }//设置窗口区域void LCD_SetWindows(u16 StartXu16 StartYu16 EndXu16 EndY){    LCD_SetCursor(StartXStartY);    LCD_WriteReg(0x0050 StartX);    LCD_WriteReg(0x0052 StartY);    LCD_WriteReg(0x0051 EndX);    LCD_WriteReg(0x0053 EndY);}//清屏函数,作用是让整个屏显示某一种颜色void LCD_Clear(u16 Color){  u32 index=0;   LCD_SetCursor(00);   Clr_Cs;   LCD_WriteIndex(0x0022);  for( index = 0; index < MAX_X * MAX_Y; index++ )  {    LCD_WriteData(Color);  }  Set_Cs;}//在指定座标画点void LCD_SetPoint(uint16_t Xposuint16_t Yposuint16_t point){ if( Xpos >= MAX_X || Ypos >= MAX_Y ) { return; } LCD_SetCursor(XposYpos); LCD_WriteReg(0x0022point);}//在指定座标显示字符串void LCD_Text(u16 x u16 y u8 *str){    u8 i;    i=0;    while(*str)    {      i++;      LCD_SetPoint((x+8*i)y*str++);    }}//IO口设置void GPIO_Config(void){  GPIO_Init(GPIOBGPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|            GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7GPIO_MODE_OUT_PP_LOW_FAST);  GPIO_Init(GPIOGGPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|            GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7GPIO_MODE_OUT_PP_LOW_FAST);  GPIO_Init(GPIOCGPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|            GPIO_PIN_5|GPIO_PIN_6GPIO_MODE_OUT_PP_LOW_FAST);}

altiusm designer哪个版本好用

    altiusm designer哪个版本比较好用,我下载的AD18,在笔记本上卡的要死。

LCD彩屏

谁知道网上哪个商家专门做低功耗LCD彩屏的????