原创 LDR

一個是LDR僞指令,一個是LDR指令,名字相同卻不是一個東西。 區分的方法就是看第二個參數,如果有等號,就是僞指令。 LDR指令: 例1: ldr r0, 0x12345678 // 就是把0x12345678這個地址中的值存放到r0中。

原创 從IAR平臺移植到KEIL要注意的事項。

     新工作的公司用的平臺都是IAR,感覺這個軟件操作起來很不友好,界面看起來也不舒服,雖然只有在編譯或者仿真的時候用一下,本來以爲很簡單的事情,卻遇到了幾個問題,總結一下。 1.首先是系統裏面的預編譯,IAR和keil IAR k

原创 實用光電二極管pd的採樣電路

       由於之前的工作沒有用過光電二極管的採樣電路,所以對這裏不夠熟悉,現在正好調試了一下光電二極管的採樣電路。 圖中參數爲:R1=10M,R2=4.7K, R3=30K,R4=10K,R6=100R,R5=25K。圖中pd的箭頭

原创 ADS8866的實際調試過程。

       首先是爲什麼選用這個adc,這顆adc看起來性價比很高的,100k,16位,INL:1LSB,這個是單極性的,如果想用差分的可以選用ADS8867。 下面根據數據手冊說明,貼上我的驅動代碼: 首先是spi的驅動,我用的硬件

原创 STM32F103內部AD使用注意事項

        分享記錄一個使用stm32f103內部adc的使用實例,是用內部adc檢測電池的電壓。 void Adc_Init(void) { ADC_InitTypeDef ADC_InitStructure; GPIO

原创 按鍵鬆開標誌的設置

     一個按鍵既作開機又作關機,遇到這樣的問題就是開機按鍵長按開機,但是按得太久開機又馬上關機了,所以必須設置一個按鍵鬆開標誌;     static u8 key_up=0;   //長按的時候這個腳GPIO_Pin_4會一直採到高

原创 程序中設置標誌的便捷之處。

需求就是當我滿足a標誌時,纔會設置標誌b,標誌b設置1了,才允許fun3()函數執行,例如: u8 bCmainstart=0; void fun(void) {    if(a)       {      bCmainstart=1;

原创 數字電位器AD5258的使用實例

     最近用到了這個數字電位器AD5258,當我在採5組輸入信號到adc的時候,這五個輸入信號的強弱差別是很大的,爲了在adc上面得到合適的信號,所以需要用不同的放大倍數來對輸入信號的放大。 硬件電路如下: 通信方式採用的模擬i2c

原创 定時器的使用注意事項

當使用定時器1輸出pwm功能時,定時器的配置過程: 1>在自動重裝載寄存器TIM1_ARR寄存器中寫入重裝載值(0x0000~0xffff)。 2>在預分頻寄存器TIM1_PSC寄存器中寫入分頻值,計數器的時鐘頻率 = fCK_PSC/(

原创 關於VS CODE設置代理服務器的實測好用的方法

       首先說一下爲什麼要使VS CODE聯網,因爲不聯網插件根本就不能用啊,就算是下載離線的插件安裝文件.vsix文件安裝上一樣是不能用,因爲這種辦法我間斷的弄了一個月,都沒有搞定,最後只能用代理服務器的辦法,公司可以通過代理服務

原创 FREERTOS的隊列使用實例

 參考正點原子的freertos的視頻教程,在STM32F407上面的實驗。 #include "sys.h" #include "delay.h" #include "usart.h" #include "led.h" #includ

原创 軟件定時器的使用

void SoftTimerHandler(void) { TimerFuncPtr func; rt_tick_t tick; int i; if(g_TimerNbr==0) ret

原创 STM32F103定時器1的PWM沒有輸出解決辦法

發現問題:今天調試定時器1的pwm輸出時有時無,檢查代碼也都沒有錯誤,排查發現是我把定時器初始化放在串口初始化後面就會是使定時器器沒有輸出,如果我放在定時器初始化前面就沒有問題了。 解決辦法:查找原因發現這個PA8也就是TIM1_CH1也

原创 判斷寄存器中某一位的狀態

#define PHY_LINKED_STATUS ((uint16_t)0x0004) /*!< Valid link established */ while (((phy

原创 用STM32CubeMX生成STM32F407ZG + LAN8720A 的LWIP

1、首先在ETH裏面使能RMII,然後參數設置這裏的PHY Address要根據你RXER引腳是否上拉決定是0還是1,如果有上拉就要設置爲1,沒有上拉就設置爲0。我這裏上拉了,所以地址就必須設置爲1。這個設置在stm32f4xx_hal_