一区二区三区四区在线观看国产日韩 _在线综合+亚洲+欧美中文字幕_蜜桃久久精品乱码一区二区_欧美黄色片免费观看

24小時(shí)聯(lián)系電話:18217114652、13661815404

中文

您當(dāng)前的位置:
首頁(yè)>
電子資訊>
技術(shù)專題>
有關(guān)于UCOSIII無法進(jìn)...

技術(shù)專題

有關(guān)于UCOSIII無法進(jìn)入軟件計(jì)時(shí)器的某些函數(shù)且不報(bào)錯(cuò)的情況


發(fā)生這種情況的原因是由于定義的ucosiii自帶的軟件單次計(jì)時(shí)器錯(cuò)誤的時(shí)間設(shè)置導(dǎo)致的,如下所示:

圖中有兩個(gè)OS_TICK類型,單次計(jì)時(shí)器的定時(shí)時(shí)間應(yīng)設(shè)置在第一個(gè)OS_TICK上。上面的是初始定時(shí)時(shí)間設(shè)置,可用于單次計(jì)時(shí)器周期計(jì)時(shí)器中;下面的是重裝載時(shí)間設(shè)置,用于僅周期定時(shí)器中。(之后在周期定時(shí)器的設(shè)置時(shí)將兩個(gè)參數(shù)都設(shè)置為0也無法正確觸發(fā))

//錯(cuò)誤代碼OSTmrCreate((OS_TMR *)&tmra_20s, //定時(shí)器tmra_20s

            (CPU_CHAR *)"tmra_20s", //定時(shí)器名字

            (OS_TICK )0, //0ms

            (OS_TICK )200,            //2000*10=20000ms=20s

            (OS_OPT )OS_OPT_TMR_ONE_SHOT,  //單次定時(shí)器

            (OS_TMR_CALLBACK_PTR)tmra_20s_callback,//定時(shí)器回調(diào)函數(shù)

            (void    *)0, //參數(shù)為0

            (OS_ERR    *)&err); //返回的錯(cuò)誤碼//正確代碼OSTmrCreate((OS_TMR *)&tmra_20s, //定時(shí)器tmra_20s

            (CPU_CHAR *)"tmra_20s", //定時(shí)器名字

            (OS_TICK )200,               //2000*10=20000ms=20s

            (OS_TICK )0, //0ms

            (OS_OPT )OS_OPT_TMR_ONE_SHOT,  //單次定時(shí)器

            (OS_TMR_CALLBACK_PTR)tmra_20s_callback,//定時(shí)器回調(diào)函數(shù)

            (void    *)0, //參數(shù)為0

            (OS_ERR    *)&err); //返回的錯(cuò)誤碼

以下是源代碼中關(guān)于ucosiii軟件計(jì)時(shí)器的描述。

*************************************************************************************************************************                                                   CREATE A TIMER** Description: This function is called by your application code to create a timer.** Arguments  : p_tmr           Is a pointer to a timer control block**              p_name          Is a pointer to an ASCII string that is used to name the timer.  Names are useful for*                              debugging.**              dly             Initial delay.*                              If the timer is configured for ONE-SHOT mode, this is the timeout used*                              If the timer is configured for PERIODIC mode, this is the first timeout to wait for*                              before the timer starts entering periodic mode**              period          The 'period' being repeated for the timer.*                              If you specified 'OS_OPT_TMR_PERIODIC' as an option, when the timer expires, it will*                              automatically restart with the same period.**              opt             Specifies either:**                                  OS_OPT_TMR_ONE_SHOT       The timer counts down only once*                                  OS_OPT_TMR_PERIODIC       The timer counts down and then reloads itself**              p_callback      Is a pointer to a callback function that will be called when the timer expires.  The*                              callback function must be declared as follows:**                                  void  MyCallback (OS_TMR *p_tmr, void *p_arg);**              p_callback_arg  Is an argument (a pointer) that is passed to the callback function when it is called.**              p_err           Is a pointer to an error code.  '*p_err' will contain one of the following:**                                 OS_ERR_NONE*                                 OS_ERR_ILLEGAL_CREATE_RUN_TIME if you are trying to create the timer after you called*                                                                  OSSafetyCriticalStart().*                                 OS_ERR_OBJ_CREATED             if the timer has already been created*                                 OS_ERR_OBJ_PTR_NULL            is 'p_tmr' is a NULL pointer*                                 OS_ERR_OBJ_TYPE                if the object type is invalid*                                 OS_ERR_OPT_INVALID             you specified an invalid option*                                 OS_ERR_TMR_INVALID_DLY         you specified an invalid delay*                                 OS_ERR_TMR_INVALID_PERIOD      you specified an invalid period*                                 OS_ERR_TMR_ISR                 if the call was made from an ISR** Returns    : none** Note(s)    : 1) This function only creates the timer.  In other words, the timer is not started when created.  To*                 start the timer, call OSTmrStart().************************************************************************************************************************

如果還有疑問可以參考詳細(xì)的關(guān)于定時(shí)器用法的中文描述:
UCOSIII軟件計(jì)時(shí)器的使用

2.有關(guān)于UCOSIII同一計(jì)時(shí)器的不同line的pwm輸出不能共存的情況

發(fā)生這種情況的原因是由于定義初始化函數(shù)時(shí)加入了TIM_DeInit()函數(shù)導(dǎo)致的,如下所示:

GPIO_InitTypeDef GPIO_InitStructure;

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

TIM_OCInitTypeDef TIM_OCInitStructure;


TIM_DeInit(TIM4);//把TIM4的設(shè)置清空


RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); 

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); 


//設(shè)置該引腳為復(fù)用輸出功能,輸出TIM4,CH3的PWM脈沖波形

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; 

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOB, &GPIO_InitStructure); 

TIM_TimeBaseStructure.TIM_Period = arr; //設(shè)置在下一個(gè)更新事件裝入活動(dòng)的自動(dòng)重裝載寄存器周期

TIM_TimeBaseStructure.TIM_Prescaler =psc; //設(shè)置用來作為TIMx時(shí)鐘頻率除數(shù)的預(yù)分頻值

TIM_TimeBaseStructure.TIM_ClockDivision = 0; 

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上計(jì)數(shù)模式

TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); 

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //PWM模式1

TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比較輸出使能

TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;//輸出極性:TIM輸出比較極性高

TIM_OC3Init(TIM4, &TIM_OCInitStructure); //初始化外設(shè)TIM4

TIM_OC3PreloadConfig(TIM4, TIM_OCPreload_Enable);//CH3預(yù)裝載使能

TIM_Cmd(TIM4, ENABLE); //使能TIM3

TIM_SetCompare3(TIM4, 0);*****************以下為部分TIM_DeInit()函數(shù)代碼**********************************void TIM_DeInit(TIM_TypeDef* TIMx){

  /* Check the parameters */

  assert_param(IS_TIM_ALL_PERIPH(TIMx)); 

 

  if (TIMx == TIM1)

  {

    RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, ENABLE);

    RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, DISABLE);  

  }     

TIM_DeInit(TIM4)初始化其他初始化函數(shù)中對(duì)于TIM4的設(shè)置清空,導(dǎo)致我們?cè)O(shè)置的其他通道的PWM設(shè)置被清空,因此無法在TIM4中輸出2個(gè)PWM信號(hào)。

經(jīng)過此次問題,我明白了每一個(gè)函數(shù)都要好好看清楚具體的功能作用,不能一抄了之,寫初始化函數(shù)的時(shí)候需要保證每一句都明白它的功能作用,不然會(huì)在后續(xù)的調(diào)試過程中產(chǎn)生隱患。

 

請(qǐng)輸入搜索關(guān)鍵字

確定
一区二区三区四区在线观看国产日韩 _在线综合+亚洲+欧美中文字幕_蜜桃久久精品乱码一区二区_欧美黄色片免费观看
国产精品色噜噜| 日韩一区在线看| 国产精品乱码人人做人人爱 | 国产日韩v精品一区二区| 亚洲一级片在线观看| 国产成人夜色高潮福利影视| 欧美日韩国产精品自在自线| 综合久久给合久久狠狠狠97色 | 在线观看视频欧美| 久久影院视频免费| 石原莉奈一区二区三区在线观看| 99视频在线观看一区三区| 精品久久国产字幕高潮| 亚洲福利一区二区| 99久久99精品久久久久久| 精品动漫一区二区三区在线观看| 亚洲一区二区三区免费视频| 成人h动漫精品一区二区| 337p日本欧洲亚洲大胆精品 | 欧美日韩国产一区| 亚洲欧洲韩国日本视频| 国产一级精品在线| 欧美大白屁股肥臀xxxxxx| 五月婷婷综合网| 91福利视频网站| 亚洲视频 欧洲视频| 成人av动漫网站| 国产欧美日韩激情| 国产精品1024| 精品乱人伦小说| 美国毛片一区二区三区| 欧美浪妇xxxx高跟鞋交| 亚洲国产欧美一区二区三区丁香婷| 97久久超碰国产精品电影| 国产欧美精品国产国产专区| 国产在线精品一区二区三区不卡| 日韩一卡二卡三卡国产欧美| 午夜激情久久久| 欧美色欧美亚洲另类二区| 一卡二卡三卡日韩欧美| 欧洲人成人精品| 亚洲一区av在线| 欧美三级三级三级爽爽爽| 亚洲一区二区三区四区在线观看| 欧美综合欧美视频| 亚洲国产一区二区视频| 欧美亚洲高清一区| 亚洲国产精品一区二区www在线| 91国产免费观看| 亚洲午夜久久久久| 欧美亚洲一区二区在线| 亚洲福利国产精品| 69堂成人精品免费视频| 日本少妇一区二区| 日韩欧美的一区| 国内精品在线播放| 欧美韩国日本不卡| 91在线丨porny丨国产| 亚洲黄色av一区| 欧美日韩mp4| 美女尤物国产一区| 2021国产精品久久精品| 粉嫩高潮美女一区二区三区 | 日本不卡的三区四区五区| 欧美一区二区三区免费大片| 麻豆国产精品视频| 久久综合久久综合久久综合| 国产999精品久久| 一区在线观看视频| 色婷婷综合久久久久中文一区二区| 一区二区三区国产豹纹内裤在线| 欧美人狂配大交3d怪物一区| 久久精品噜噜噜成人88aⅴ| 精品99一区二区| 成人免费电影视频| 亚洲少妇屁股交4| 欧美日韩情趣电影| 精品一区二区在线免费观看| 欧美国产日产图区| 欧美在线观看视频一区二区| 美美哒免费高清在线观看视频一区二区 | 91影视在线播放| 亚洲成人综合网站| 日韩免费高清视频| 成人动漫av在线| 午夜精品在线看| 337p粉嫩大胆噜噜噜噜噜91av | 亚洲三级在线播放| 欧美日韩精品一区二区天天拍小说| 免费观看成人av| 国产精品久久免费看| 欧美日韩日日摸| 国产精品中文字幕欧美| 亚洲精品五月天| 欧美电影免费观看高清完整版在线 | 欧美在线视频日韩| 狠狠网亚洲精品| 亚洲欧美偷拍卡通变态| 欧美丰满少妇xxxbbb| 国产91精品一区二区麻豆亚洲| 亚洲一区二区综合| www国产精品av| 在线观看视频欧美| 国产精品亚洲一区二区三区在线 | 国产精品的网站| 欧美精品高清视频| 成人综合婷婷国产精品久久| 午夜精品一区在线观看| 国产精品入口麻豆九色| 在线成人高清不卡| 99久久综合国产精品| 免费黄网站欧美| 亚洲精品少妇30p| 欧美精品一区二区三区高清aⅴ| 色八戒一区二区三区| 国产一区二区三区在线观看免费| 亚洲美女视频在线| 久久精品免视看| 在线电影欧美成精品| www.激情成人| 国产自产视频一区二区三区| 亚洲444eee在线观看| 欧美国产日韩a欧美在线观看| 91精品国产美女浴室洗澡无遮挡| 91视频在线观看| 国产精品一区二区久激情瑜伽| 午夜精品一区二区三区免费视频 | 蜜臀av国产精品久久久久| 亚洲人成7777| 国产欧美一区二区精品性色超碰 | 一区二区三区视频在线看| 2014亚洲片线观看视频免费| 欧美日韩国产一二三| 91在线视频在线| 国产成人免费视| 精品中文字幕一区二区| 午夜在线电影亚洲一区| 成人欧美一区二区三区白人 | 亚洲福利视频一区二区| 成人免费在线视频观看| 久久久久亚洲综合| 欧美一区二区三区免费观看视频 | 亚洲高清不卡在线观看| 一区二区中文字幕在线| 国产日韩欧美高清在线| 精品成a人在线观看| 日韩一区二区三区观看| 欧美乱妇20p| 欧美日韩在线播放三区四区| 色婷婷综合久久久久中文| 成人黄色777网| 国产 欧美在线| 国产一区二区三区四区五区美女 | 不卡一区在线观看| 国产成人精品亚洲777人妖| 韩国精品一区二区| 久久国产麻豆精品| 蜜臀va亚洲va欧美va天堂| 水蜜桃久久夜色精品一区的特点 | 色狠狠桃花综合| 91猫先生在线| 91丨porny丨蝌蚪视频| 成人av在线播放网址| 成人听书哪个软件好| 国产成a人亚洲| 国产91精品一区二区麻豆网站 | 不卡电影一区二区三区| 国产99精品视频| 丁香婷婷综合色啪| 高清不卡一二三区| 成人午夜精品一区二区三区| 夫妻av一区二区| 成人avav影音| 99久久99久久久精品齐齐| 99久久免费视频.com| 91亚洲国产成人精品一区二区三| 99精品视频在线免费观看| 91原创在线视频| 在线观看成人免费视频| 欧美三级韩国三级日本三斤| 欧美挠脚心视频网站| 91精品国产综合久久婷婷香蕉| 欧美一区二区在线视频| 日韩欧美国产精品| 精品久久久久av影院| 久久先锋影音av| 欧美国产日韩亚洲一区| 国产精品不卡在线| 亚洲精品视频在线观看免费| 亚洲成人高清在线| 青青草原综合久久大伊人精品| 免费人成在线不卡| 国产一区二区女| 成人av影院在线| 91久久国产综合久久| 欧美理论电影在线| 精品欧美一区二区三区精品久久| 国产婷婷色一区二区三区在线| 国产精品二三区| 亚洲18女电影在线观看|