色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GD32F310定時(shí)器采樣MP6050并在彩色LCD上顯示波形

冬至配餃子 ? 來(lái)源:兆易創(chuàng)新GD32 MCU ? 作者:zhai ? 2022-09-23 17:45 ? 次閱讀

1.開發(fā)環(huán)境

(1)IAR8.4
(2)MPU6050 1.8寸顯示屏

2.軟件

(1)MPU6050陀螺儀驅(qū)動(dòng)

i2C配置:

void i2c0_gpio_config(void)
{

rcu_periph_clock_enable(RCU_GPIOB);
rcu_periph_clock_enable(RCU_I2C0);  
gpio_af_set(GPIOB, GPIO_AF_1, GPIO_PIN_6);
gpio_af_set(GPIOB, GPIO_AF_1, GPIO_PIN_7);
gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_6);
gpio_output_options_set(GPIOB, GPIO_OTYPE_OD, GPIO_OSPEED_50MHZ, GPIO_PIN_6);
gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_7);
gpio_output_options_set(GPIOB, GPIO_OTYPE_OD, GPIO_OSPEED_50MHZ, GPIO_PIN_7);

}

void i2c_config(void)
{

i2c_clock_config(I2C0, 200000, I2C_DTCY_2);
i2c_mode_addr_config(I2C0, I2C_I2CMODE_ENABLE,     I2C_ADDFORMAT_7BITS, SlaveAddress);
i2c_enable(I2C0);
i2c_ack_config(I2C0, I2C_ACK_ENABLE);

}

uint8_t Read_Byte(uint16_t SlaveAddr,uint16_t ReadAddr, uint8_t *DataByte)
{

uint8_t err = 1;
i2c_start_on_bus(I2C0);                            
while(!i2c_flag_get(I2C0, I2C_FLAG_SBSEND));    
i2c_master_addressing(I2C0, SlaveAddr<<1, I2C_TRANSMITTER); 
while(!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND));    
i2c_flag_clear(I2C0, I2C_FLAG_ADDSEND);            
while(!i2c_flag_get(I2C0, I2C_FLAG_TBE));        
i2c_data_transmit(I2C0, ReadAddr);    
while(!i2c_flag_get(I2C0, I2C_FLAG_TBE));    
i2c_start_on_bus(I2C0);                            
while(!i2c_flag_get(I2C0, I2C_FLAG_SBSEND));    
i2c_master_addressing(I2C0, SlaveAddr<<1, I2C_RECEIVER);     
while(!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND));    
i2c_ack_config(I2C0, I2C_ACK_DISABLE);            
i2c_flag_clear(I2C0, I2C_FLAG_ADDSEND);            
i2c_stop_on_bus(I2C0);                            
while(!i2c_flag_get(I2C0, I2C_FLAG_RBNE));        
*DataByte  = i2c_data_receive(I2C0);            
i2c_ack_config(I2C0, I2C_ACK_ENABLE);            
err = 0;
return err;

}

uint8_t Write_Byte(uint16_t SlaveAddr,uint16_t WriteAddr,uint16_t WriteByte)
{

uint8_t err = 0;    
i2c_start_on_bus(I2C0);                            
while(!i2c_flag_get(I2C0, I2C_FLAG_SBSEND));    
i2c_master_addressing(I2C0, SlaveAddr<<1, I2C_TRANSMITTER);
while(!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND));    
i2c_flag_clear(I2C0, I2C_FLAG_ADDSEND);            
while(!i2c_flag_get(I2C0, I2C_FLAG_TBE));        
i2c_data_transmit(I2C0, WriteAddr);                
while(!i2c_flag_get(I2C0, I2C_FLAG_TBE));        
i2c_data_transmit(I2C0, WriteByte);                
while(!i2c_flag_get(I2C0, I2C_FLAG_TBE));        
i2c_stop_on_bus(I2C0);                            
return err;

}

陀螺儀初始化:

void mpu6050_init(){

Write_Byte( SlaveAddress, PWR_MGMT_1,  0x00 );
delay_1ms(10);
Write_Byte( SlaveAddress, SMPLRT_DIV,  0x07 );
delay_1ms(10);

Write_Byte( SlaveAddress, CONFIG, 0x06 );
delay_1ms(10);


Write_Byte( SlaveAddress, GYRO_CONFIG,  0x18);
delay_1ms(10);
Write_Byte( SlaveAddress, ACCEL_CONFIG,  0x01);
delay_1ms(10);

}

void GetData(uint16_t SlaveAddr,uint16_t REG_Address,short data[3])
{

uint8_t H=0,L=0;

for(int i=0;i<3;i++){
    Read_Byte(SlaveAddress, REG_Address+(i*2), &H);
    Read_Byte( SlaveAddress, REG_Address+(i*2+1),&L); 
   data[i]=(( short)(H<<8))|L;

}

(2)LCD驅(qū)動(dòng)

驅(qū)動(dòng):

void LCD_GPIO_Init(void)
{


     rcu_periph_clock_enable(RCU_GPIOA);
     gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5);
     gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5);
     gpio_bit_set(GPIOA,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5);

}

void LCD_Writ_Bus(uint8_t dat)
{

uint8_t i;
LCD_CS_Clr();
for(i=0;i<8;i++)
{              
    LCD_SCLK_Clr();
    if(dat&0x80)
    {
       LCD_MOSI_Set();
    }
    else
    {
       LCD_MOSI_Clr();
    }
    LCD_SCLK_Set();
    dat<<=1;
}    

LCD_CS_Set();

}

void LCD_WR_DATA8(uint8_t dat)
{

LCD_Writ_Bus(dat);

}

void LCD_WR_DATA(uint16_t dat)
{

LCD_Writ_Bus(dat>>8);
LCD_Writ_Bus(dat);

}

void LCD_WR_REG(uint8_t dat)
{

LCD_DC_Clr();//д????
LCD_Writ_Bus(dat);
LCD_DC_Set();//д????

}

void LCD_Address_Set(uint16_t x1,uint16_t y1,uint16_t x2,uint16_t y2)
{

if(USE_HORIZONTAL==0)
{
    LCD_WR_REG(0x2a);//?е??????
    LCD_WR_DATA(x1+2);
    LCD_WR_DATA(x2+2);
    LCD_WR_REG(0x2b);//?е??????
    LCD_WR_DATA(y1+1);
    LCD_WR_DATA(y2+1);
    LCD_WR_REG(0x2c);//??????д
}
else if(USE_HORIZONTAL==1)
{
    LCD_WR_REG(0x2a);//?е??????
    LCD_WR_DATA(x1+2);
    LCD_WR_DATA(x2+2);
    LCD_WR_REG(0x2b);//?е??????
    LCD_WR_DATA(y1+1);
    LCD_WR_DATA(y2+1);
    LCD_WR_REG(0x2c);//??????д
}
else if(USE_HORIZONTAL==2)
{
    LCD_WR_REG(0x2a);//?е??????
    LCD_WR_DATA(x1+1);
    LCD_WR_DATA(x2+1);
    LCD_WR_REG(0x2b);//?е??????
    LCD_WR_DATA(y1+2);
    LCD_WR_DATA(y2+2);
    LCD_WR_REG(0x2c);//??????д
}
else
{
    LCD_WR_REG(0x2a);//?е??????
    LCD_WR_DATA(x1+1);
    LCD_WR_DATA(x2+1);
    LCD_WR_REG(0x2b);//?е??????
    LCD_WR_DATA(y1+2);
    LCD_WR_DATA(y2+2);
    LCD_WR_REG(0x2c);//??????д
}

}

void LCD_Init(void)
{

LCD_GPIO_Init();

LCD_RES_Clr();
delay_1ms(100);
LCD_RES_Set();
delay_1ms(100);

LCD_BLK_Set();
    delay_1ms(100);


delay_1ms(120);             

LCD_WR_REG(0xB1); 
LCD_WR_DATA8(0x05); 
LCD_WR_DATA8(0x3C); 
LCD_WR_DATA8(0x3C); 
LCD_WR_REG(0xB2); 
LCD_WR_DATA8(0x05);
LCD_WR_DATA8(0x3C); 
LCD_WR_DATA8(0x3C); 
LCD_WR_REG(0xB3); 
LCD_WR_DATA8(0x05); 
LCD_WR_DATA8(0x3C); 
LCD_WR_DATA8(0x3C); 
LCD_WR_DATA8(0x05); 
LCD_WR_DATA8(0x3C); 
LCD_WR_DATA8(0x3C); 

LCD_WR_REG(0xB4); //Dot inversion 
LCD_WR_DATA8(0x03); 

LCD_WR_REG(0xC0); 
LCD_WR_DATA8(0x28); 
LCD_WR_DATA8(0x08); 
LCD_WR_DATA8(0x04); 
LCD_WR_REG(0xC1); 
LCD_WR_DATA8(0XC0); 
LCD_WR_REG(0xC2); 
LCD_WR_DATA8(0x0D); 
LCD_WR_DATA8(0x00); 
LCD_WR_REG(0xC3); 
LCD_WR_DATA8(0x8D); 
LCD_WR_DATA8(0x2A); 
LCD_WR_REG(0xC4); 
LCD_WR_DATA8(0x8D); 
LCD_WR_DATA8(0xEE); 

LCD_WR_REG(0xC5); //VCOM 
LCD_WR_DATA8(0x1A); 
LCD_WR_REG(0x36); //MX, MY, RGB mode 
if(USE_HORIZONTAL==0)LCD_WR_DATA8(0x00);
else if(USE_HORIZONTAL==1)LCD_WR_DATA8(0xC0);
else if(USE_HORIZONTAL==2)LCD_WR_DATA8(0x70);
else LCD_WR_DATA8(0xA0); 

LCD_WR_REG(0xE0); 
LCD_WR_DATA8(0x04); 
LCD_WR_DATA8(0x22); 
LCD_WR_DATA8(0x07); 
LCD_WR_DATA8(0x0A); 
LCD_WR_DATA8(0x2E); 
LCD_WR_DATA8(0x30); 
LCD_WR_DATA8(0x25); 
LCD_WR_DATA8(0x2A); 
LCD_WR_DATA8(0x28); 
LCD_WR_DATA8(0x26); 
LCD_WR_DATA8(0x2E); 
LCD_WR_DATA8(0x3A); 
LCD_WR_DATA8(0x00); 
LCD_WR_DATA8(0x01); 
LCD_WR_DATA8(0x03); 
LCD_WR_DATA8(0x13); 
LCD_WR_REG(0xE1); 
LCD_WR_DATA8(0x04); 
LCD_WR_DATA8(0x16); 
LCD_WR_DATA8(0x06); 
LCD_WR_DATA8(0x0D); 
LCD_WR_DATA8(0x2D); 
LCD_WR_DATA8(0x26); 
LCD_WR_DATA8(0x23); 
LCD_WR_DATA8(0x27); 
LCD_WR_DATA8(0x27); 
LCD_WR_DATA8(0x25); 
LCD_WR_DATA8(0x2D); 
LCD_WR_DATA8(0x3B); 
LCD_WR_DATA8(0x00); 
LCD_WR_DATA8(0x01); 
LCD_WR_DATA8(0x04); 
LCD_WR_DATA8(0x13); 
//------------------------------------End ST7735S Gamma Sequence-----------------------------// 
LCD_WR_REG(0x3A); //65k mode 
LCD_WR_DATA8(0x05); 
LCD_WR_REG(0x29); //Display on 

}

顯示函數(shù):

void LCD_Fill(uint16_t xsta,uint16_t ysta,uint16_t xend,uint16_t yend,uint16_t color)
{

uint16_t i,j; 
LCD_Address_Set(xsta,ysta,xend-1,yend-1);//?????????Χ
for(i=ysta;i

}

void LCD_DrawPoint(uint16_t x,uint16_t y,uint16_t color)
{

LCD_Address_Set(x,y,x,y);//???ù??λ?? 
LCD_WR_DATA(color);

}

void LCD_DrawLine(uint16_t x1,uint16_t y1,uint16_t x2,uint16_t y2,uint16_t color)
{

uint16_t t; 
int xerr=0,yerr=0,delta_x,delta_y,distance;
int incx,incy,uRow,uCol;
delta_x=x2-x1; //???????????? 
delta_y=y2-y1;
uRow=x1;//???????????
uCol=y1;
if(delta_x>0)incx=1; //??????????? 
else if (delta_x==0)incx=0;//????? 
else {incx=-1;delta_x=-delta_x;}
if(delta_y>0)incy=1;
else if (delta_y==0)incy=0;//???? 
else {incy=-1;delta_y=-delta_y;}
if(delta_x>delta_y)distance=delta_x; //???????????????? 
else distance=delta_y;
for(t=0;tdistance)
    {
        xerr-=distance;
        uRow+=incx;
    }
    if(yerr>distance)
    {
        yerr-=distance;
        uCol+=incy;
    }
}

}

void LCD_DrawRectangle(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2,uint16_t color)
{

LCD_DrawLine(x1,y1,x2,y1,color);
LCD_DrawLine(x1,y1,x1,y2,color);
LCD_DrawLine(x1,y2,x2,y2,color);
LCD_DrawLine(x2,y1,x2,y2,color);

}

void Draw_Circle(uint16_t x0,uint16_t y0,uint8_t r,uint16_t color)
{

int a,b;
a=0;b=r;      
while(a<=b)
{
    LCD_DrawPoint(x0-b,y0-a,color);                    
    LCD_DrawPoint(x0+b,y0-a,color);                       
    LCD_DrawPoint(x0-a,y0+b,color);                            
    LCD_DrawPoint(x0-a,y0-b,color);                        
    LCD_DrawPoint(x0+b,y0+a,color);                         
    LCD_DrawPoint(x0+a,y0-b,color);            
    LCD_DrawPoint(x0+a,y0+b,color);              
    LCD_DrawPoint(x0-b,y0+a,color);             
    a++;
    if((a*a+b*b)>(r*r))
    {
        b--;
    }
}

}

void LCD_ShowChar(uint16_t x,uint16_t y,uint8_t num,uint16_t fc,uint16_t bc,uint8_t sizey,uint8_t mode)
{

uint8_t temp,sizex,t,m=0;
uint16_t i,TypefaceNum;
uint16_t x0=x;
sizex=sizey/2;
TypefaceNum=(sizex/8+((sizex%8)?1:0))*sizey;
num=num-' ';   
LCD_Address_Set(x,y,x+sizex-1,y+sizey-1); 
for(i=0;i

}

void LCD_ShowString(uint16_t x,uint16_t y,const uint8_t *p,uint16_t fc,uint16_t bc,uint8_t sizey,uint8_t mode)
{

while(*p!='?')
{       
    LCD_ShowChar(x,y,*p,fc,bc,sizey,mode);
    x+=sizey/2;
    p++;
}  

}

uint32_t mypow(uint8_t m,uint8_t n)
{

uint32_t result=1;     
while(n--)result*=m;
return result;

}

void LCD_ShowIntNum(uint16_t x,uint16_t y,uint16_t num,uint8_t len,uint16_t fc,uint16_t bc,uint8_t sizey)
{

uint8_t t,temp;
uint8_t enshow=0;
uint8_t sizex=sizey/2;
for(t=0;t

}

void LCD_ShowFloatNum1(uint16_t x,uint16_t y,float num,uint8_t len,uint16_t fc,uint16_t bc,uint8_t sizey)
{

uint8_t t,temp,sizex;
uint16_t num1;
sizex=sizey/2;
num1=num*100;
for(t=0;t

}

(3)主函數(shù)

void gd_led_config(void);
void gd_led_toggle(void);

int data[128]={0},data2[128]={0},data3[128]={0};
short Acc[3],Gyro[3];

void TIMER2_IRQHandler(void) {

if(SET == timer_interrupt_flag_get(TIMER2, TIMER_INT_FLAG_UP)){
    /* clear channel 0 interrupt bit */
    timer_interrupt_flag_clear(TIMER2, TIMER_INT_FLAG_UP);
            
            
            
            GetData(SlaveAddress,ACCEL_XOUT_H,Acc);
            GetData(SlaveAddress,GYRO_XOUT_H,Gyro);    
           
    gd_led_toggle();
}

}

void nvic_config(void)
{

nvic_irq_enable(TIMER2_IRQn, 0, 0);

}

void timer_config(void)
{

TIMER2 Configuration:
TIMER2CLK = SystemCoreClock/8400(GD32F330)or 10800(GD32F350) = 10KHz.
the period is 1s(10000/10000 = 1s).

timer_oc_parameter_struct timer_ocinitpara;
timer_parameter_struct timer_initpara;

/* enable the peripherals clock */
rcu_periph_clock_enable(RCU_TIMER2);

/* deinit a TIMER */
timer_deinit(TIMER2);
/* initialize TIMER init parameter struct */
timer_struct_para_init(&timer_initpara);
/* TIMER2 configuration */


timer_initpara.prescaler         = 4999;
timer_initpara.alignedmode       = TIMER_COUNTER_EDGE;
timer_initpara.counterdirection  = TIMER_COUNTER_UP;
timer_initpara.period            = 999;
timer_initpara.clockdivision     = TIMER_CKDIV_DIV1;
timer_init(TIMER2, &timer_initpara);

/* clear channel 0 interrupt bit */
timer_interrupt_flag_clear(TIMER2, TIMER_INT_FLAG_UP);
/* enable the TIMER interrupt */
timer_interrupt_enable(TIMER2, TIMER_INT_UP);
/* enable a TIMER */
timer_enable(TIMER2);

}

int main(void)
{

gd_led_config();
systick_config();

 
i2c0_gpio_config();

i2c_config();

mpu6050_init();

LCD_Init();
LCD_Fill(0,0,LCD_W,LCD_H,BLACK);
//LCD_ShowString(0,0,"Hellow GD32F310G8!",WHITE,BLUE,12,0);

  
timer_config();
/* configure the TIMER2 interrupt */
nvic_config();



while(1) {
  
  
  
  
   
                        
                   
          for(int i=0;i<128;i++){
           LCD_DrawPoint( i, data[i],RED);
           LCD_DrawPoint( i, data2[i],GREEN);
           LCD_DrawPoint( i, data3[i],BLUE);
             }
          delay_1ms(10);

         for(int i=0;i<128;i++){
          LCD_DrawPoint( i, data[i],BLACK);
          LCD_DrawPoint( i, data2[i],BLACK);
          LCD_DrawPoint( i, data3[i],BLACK);
          }
 
         for(int i=0;i<127;i++){
          data[i]=data[i+1];
          data2[i]=data2[i+1];
         data3[i]=data3[i+1];
 }

 data[127]=20+(int)(((float)Gyro[0])/164);
 data2[127]=60+(int)(((float)Gyro[1])/164);
 data3[127]=100+(int)(((float)Gyro[2])/164);
                
 
  
 
 
  //char cpd[10];
   //sprintf(cpd,"%d",Acc[0]);
   
   //LCD_ShowString(0,0,cpd,WHITE,BLUE,12,0);

 

}

}

void gd_led_config(void)
{

rcu_periph_clock_enable(RCU_GPIOA);


gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_1);
gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_1);

GPIO_BC(GPIOA) = GPIO_PIN_1;

}

void gd_led_toggle(void)
{

GPIO_TG(GPIOA) = GPIO_PIN_1;

}

3.效果

GD32存在一個(gè)問(wèn)題,用隊(duì)列緩沖陀螺儀數(shù)據(jù)時(shí),運(yùn)行數(shù)秒后死機(jī)。



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 陀螺儀
    +關(guān)注

    關(guān)注

    44

    文章

    791

    瀏覽量

    98888
  • LCD顯示器
    +關(guān)注

    關(guān)注

    0

    文章

    87

    瀏覽量

    20225
  • GD32
    +關(guān)注

    關(guān)注

    7

    文章

    413

    瀏覽量

    24429
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    GD32F310開發(fā)板試用--基于RTT Nano的RTT軟件包使用

    微控制GD32F310系列MCU最高主頻可達(dá)72MHz并支持DSP指令運(yùn)算。配備了64KB的內(nèi)置Flash及48KB的SRAM,內(nèi)核訪問(wèn)閃存高速零等待。采用LQFP32封裝。 在評(píng)測(cè)期間,我移植
    的頭像 發(fā)表于 08-09 11:17 ?1881次閱讀

    GD32F310開發(fā)板實(shí)現(xiàn)四線OLED顯示的設(shè)計(jì)

    1、在GD32F310開發(fā)板實(shí)現(xiàn)四線OLED顯示的設(shè)計(jì)  本次采用四線OLED與開發(fā)板實(shí)現(xiàn)通信,使用模擬IIC方式,在自己平時(shí)的應(yīng)用中OLED屏幕還是用的比較多的,本文目標(biāo)是實(shí)現(xiàn)OLED顯示功能
    發(fā)表于 08-31 15:25

    基于GD32F310 定時(shí)器中編碼接口的簡(jiǎn)介及特點(diǎn)

    2000編碼模式2:編碼旋轉(zhuǎn)一周計(jì)數(shù)計(jì)數(shù) 4000注意: "-" 意思是"無(wú)計(jì)數(shù)"; "X" 意思是不可能。在【GD32F310
    發(fā)表于 09-28 15:53

    基于GD32F310開發(fā)板完成超頻及ADC極限采樣率實(shí)驗(yàn)

    1、ADC極限采樣率實(shí)驗(yàn)  項(xiàng)目為用單片機(jī)采集VGA圖像的應(yīng)用,當(dāng)前所用的單片機(jī)為GD32F330,用于降成本的替代方案原本選擇的是GD32E230,咨詢過(guò)代理商那邊說(shuō)是新出的GD32F310
    發(fā)表于 09-29 15:35

    GD32F310對(duì)浮點(diǎn)DSP運(yùn)算及Modbus移植進(jìn)行測(cè)評(píng)

    1. 測(cè)評(píng)背景GD32作為國(guó)產(chǎn)化ARM中的旗艦,其全系列產(chǎn)品不僅市場(chǎng)占有率高,而且各具特色,廣受使用者好評(píng)。筆者在測(cè)評(píng)這款GD32F310之前,曾經(jīng)使用過(guò)GD32F450,其強(qiáng)大的性能,低廉的價(jià)格
    發(fā)表于 09-30 11:09

    基于GD32F310開發(fā)板的CMSIS-DAP燒錄與定時(shí)器采集脈寬問(wèn)題

    1、CMSIS-DAP電只能燒錄一次問(wèn)題解決&定時(shí)器脈寬采集  GD32F310擁有TSSOP20、QFN28、QFN32、LQFP32以及LQFP48共5種封裝類型,采用Arm
    發(fā)表于 09-30 12:04

    基于GD32F310開發(fā)板的AD多通道交流采樣計(jì)算

    GD32F310這個(gè)核心板,通過(guò)本人已有的外圍電路將繼保測(cè)試儀的交流電壓信號(hào)調(diào)理后采集到核心板。交流電壓信號(hào)50HZ,要求每個(gè)周期采樣32個(gè)點(diǎn),那么每個(gè)通道采樣頻率為1600Hz(3
    發(fā)表于 09-30 14:29

    基于GD32F310開發(fā)板的RT-Thread Shell移植及調(diào)試心得

      GD32F310系列采用Arm Cortex-M4內(nèi)核,主頻達(dá)到72MHz,配備了16KB到64KB的嵌入式閃存及4KB到8KB的SRAM。片上集成了多達(dá)5個(gè)16位通用定時(shí)器、1個(gè)16位基本定時(shí)器和1
    發(fā)表于 09-30 14:47

    基于GD32F310開發(fā)板移植FreeRTOS的步驟詳解

    1、GD32F310移植FreeRTOS  開發(fā)板信息  我們?cè)趤?lái)看看關(guān)于這款開發(fā)板:  GD32F310K-START 評(píng)估板使用 GD32F310K8T6 作為主控制。LED的引
    發(fā)表于 10-10 18:07

    GD電機(jī)驅(qū)動(dòng)底層配置—永磁同步電機(jī)控制

    ,可使GD32F310系列廣泛應(yīng)用于永磁同步電機(jī)控制領(lǐng)域。本文將介紹應(yīng)用于電機(jī)控制時(shí),高級(jí)定時(shí)器和ADC的配置過(guò)程。  底層驅(qū)動(dòng)配置  GD32F310中的高級(jí)定時(shí)器TIMER0是一個(gè)
    發(fā)表于 10-13 14:29

    基于GD32F310開發(fā)板在rt-thread添加finsh及其shell功能

    1、GD32F310開發(fā)板試用+finsh/shell添加與進(jìn)程STACK優(yōu)化  一次只是移植了rt-thread nano的內(nèi)核,但rt-thread的finsh/shell,是一大很有特點(diǎn)
    發(fā)表于 11-08 16:05

    利用GD32F310的I2C0實(shí)現(xiàn)對(duì)HDC1080的初始化及讀取環(huán)境溫濕度

    ,芯片內(nèi)置64KB flash,8KB SRAM,兩路I2C外設(shè)。  本次試用目的是利用GD32F310的I2C0實(shí)現(xiàn)對(duì)HDC1080的初始化及讀取環(huán)境溫濕度,并利用UART口在電腦顯示出來(lái)。  新建
    發(fā)表于 11-08 16:24

    GD32F310開發(fā)板移植FreeRTOS的步驟相關(guān)資料分享

    1、GD32F310移植FreeRTOS  環(huán)境說(shuō)明  首先我先說(shuō)明我的環(huán)境:  我使用keil5的版本是V5.36,電腦系統(tǒng)是WIN10,使用的固件庫(kù)版本是從官網(wǎng)下載的最新版2.2.0,我所移植
    發(fā)表于 11-08 16:58

    GD32F310定時(shí)器采樣MP6050并在彩色LCD顯示波形的操作過(guò)程

    ,LCD_W,LCD_H,BLACK);//LCD_ShowString(0,0,"Hellow GD32F310G8!",WHITE,BLUE,12,0);timer_config
    發(fā)表于 11-21 15:48

    如何利用GD32F310讀取HDC1080環(huán)境溫濕度

    本次試用目的是利用GD32F310的I2C0實(shí)現(xiàn)對(duì)HDC1080的初始化及讀取環(huán)境溫濕度,并利用UART口在電腦顯示出來(lái)。
    的頭像 發(fā)表于 04-15 15:23 ?2989次閱讀
    如何利用<b class='flag-5'>GD32F310</b>讀取HDC1080環(huán)境溫濕度
    主站蜘蛛池模板: 伊人综合在线影院 | 国产精品私人玩物在线观看 | 国产精品久久久久永久免费看 | 爱情岛论坛免费在线观看 | 天美传媒色情原创精品 | 国产精品卡1卡2卡三卡四 | 男人J放进女人屁股免费观看 | 在线播放性xxx欧美 在线播放午夜理论片 | JIZJIZJIZ 日本老师水多 | 能看的黄页最新网站 | 成人在线免费观看 | 免费韩伦影院在线观看 | 亚洲乱码国产一区三区 | 亚洲精品成人A8198A片漫画 | 国产高清视频免费在线观看 | 国产福利高清在线视频 | 5G在线观看免费年龄确认18 | 老司机福利视频一区在线播放 | 网址在线观看你懂我意思吧免费的 | 色戒2小时38分在线观看 | 久久偷拍人 | 久久人妻少妇嫩草AV無碼 | 日本午夜精品理论片A级APP发布 | 欧美激情精品久久久久 | 最新国自产拍 高清完整版 最新国产在线视频在线 | 97影院午夜午夜伦不卡 | 久久婷婷色香五月综合激情 | 67194成网页发布在线观看 | yellow免费影视大全 | 韩国女主播内部vip自带氏巾 | 女bbbbxxx孕妇 | 国产精品亚洲精品影院 | 暖暖视频中国在线观看免费韩国 | 国产 高清 无码 在线播放 | 91av电影在线观看 | 亚洲高清一区二区三区电影 | 99亚洲精品色情无码久久 | 黄小飞二人转 | 青青视频国产依人在线 | 2019伊人查蕉在线观看 | 99精品视频一区在线视频免费观看 |