久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
讓stm32也能像PLC一樣 可以使用N多的定時(shí)器,從而不影響其他程序的運(yùn)行
[打印本頁]
作者:
jinhua1916
時(shí)間:
2021-3-24 18:24
標(biāo)題:
讓stm32也能像PLC一樣 可以使用N多的定時(shí)器,從而不影響其他程序的運(yùn)行
讓stm32 也能像PLC一樣 可以使用N多的定時(shí)器,從而不影響其他程序的運(yùn)行;我發(fā)現(xiàn)用plc做控制編程很快,用stm32 配置很麻煩。不知道大家有沒有同感。一般情況下,我愿意用單片機(jī)工控板,用梯形圖編程很方便。可是有時(shí)候用的地方PLC功能受到限制,在及時(shí)性和功能方面不如stm32的開發(fā)板好用。所有有的時(shí)候還是需要用單片機(jī)。為了控制方便,需要用到多個(gè)定時(shí)的地方,用單片機(jī)的定時(shí)器很浪費(fèi),所以我就做了一個(gè)可以定義出來多個(gè)軟件定時(shí)器的辦法,經(jīng)過測(cè)試發(fā)現(xiàn)定時(shí)準(zhǔn)確,使用也很方便。
作者:
jinhua1916
時(shí)間:
2021-3-24 18:25
我定義了一個(gè)數(shù)組:再封裝了一個(gè)函數(shù),可以向用PLC的定時(shí)器一樣來使用這個(gè)定時(shí)器;
作者:
jinhua1916
時(shí)間:
2021-3-24 18:27
我定義了一個(gè)軟件定時(shí)器的機(jī)構(gòu)體,再封裝了一個(gè)函數(shù)。就像使用PLC的定時(shí)器一樣方便。
作者:
jinhua1916
時(shí)間:
2021-3-24 18:32
struct students
{
int start;
int Count value;
int Set value;
int Time to mark;
}DSQ[3];
作者:
jinhua1916
時(shí)間:
2021-3-24 18:33
void TIM3_Int_Init(u16 arr,u16 psc)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
TIM_TimeBaseStructure.TIM_Period = arr;
TIM_TimeBaseStructure.TIM_Prescaler =psc;
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
TIM_ITConfig(
TIM3, //TIM2
TIM_IT_Update ,
ENABLE
);
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
TIM_Cmd(TIM3, ENABLE);
}
作者:
jinhua1916
時(shí)間:
2021-3-24 18:39
void TIM3_IRQHandler(void)
{ int i=0;
if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)
{
TIM_ClearITPendingBit(TIM3, TIM_IT_Update );
// LED0=!LED0;
for (i=0;i<3;i++)
{
if (DSQ[i].start==1)
{
DSQ[i].Count value++;
if(DSQ[i].Count value>=DSQ[i].dingshizhi)
{
DSQ[i].Time to mark=1;
DSQ[i].Count value=0;
}
}
}
}
}
復(fù)制代碼
作者:
jinhua1916
時(shí)間:
2021-3-24 19:05
DSQ[1].Time to mark=0;
DSQ[1].start=1;
"DSQ[1].Count value=77;//77毫秒,隨意定時(shí)
if (DSQ[1].Time to mark==1)
{
LED0=1;
DSQ[1].start=0;
}
else LED0=0;"
作者:
黃youhui
時(shí)間:
2021-3-25 08:44
硬漢的教程里面有這種功能。用滴答計(jì)時(shí)器做的,每隔1ms計(jì)入中斷一次。在中斷里面將所有的計(jì)數(shù)器加1,當(dāng)計(jì)數(shù)器數(shù)值等于預(yù)裝值時(shí)就將定時(shí)器達(dá)到標(biāo)志位置1.如果是一次性的模式就在這里結(jié)束函數(shù),如果不是一次性的那就將計(jì)數(shù)器歸零重新開始。
定義一個(gè)結(jié)構(gòu)體/* 定時(shí)器結(jié)構(gòu)體,成員變量必須是 volatile, 否則C編譯器優(yōu)化時(shí)可能有問題 */
typedef struct
{
volatile uint8_t Mode; /* 計(jì)數(shù)器模式,0 1次性 1 自動(dòng)重裝*/
volatile uint8_t Flag; /* 定時(shí)到達(dá)標(biāo)志 */
volatile uint32_t Count; /* 計(jì)數(shù)器 */
volatile uint32_t PreLoad; /* 計(jì)數(shù)器預(yù)裝值 */
}SOFT_TMR;
作者:
適得府君書
時(shí)間:
2021-3-25 09:09
使用OS 創(chuàng)建任務(wù)更靈活。
作者:
神飛游光
時(shí)間:
2021-3-25 10:21
要是能把工程文件打包出來就更好了
作者:
mvwtest
時(shí)間:
2021-3-25 10:59
是時(shí)候考慮上手RTOS了
作者:
jinhua1916
時(shí)間:
2021-3-25 18:56
@ 黃youhui 。硬漢的教程里面有這種功能。我去看看。
作者:
jinhua1916
時(shí)間:
2021-3-26 20:16
正點(diǎn)原子教的是UCOS II
作者:
profile5
時(shí)間:
2021-3-28 16:06
操作系統(tǒng)就是這個(gè)思想哇。。
作者:
wufa1986
時(shí)間:
2021-3-29 08:23
操作系統(tǒng)虛擬定時(shí)器
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
91视频观看
|
日韩激情久久
|
国产精品成人一区二区三区
|
亚洲欧美久久
|
亚洲网站在线
|
99久久综合
|
欧美精品日韩
|
日日爽天天
|
欧美a级成人淫片免费看
|
国产精品毛片va一区二区三区
|
午夜激情福利
|
日本丰满少妇做爰爽爽
|
成年免费视频黄网站在线观看
|
午夜影视
|
婷婷色综合
|
在线免费av网站
|
成人看片免费
|
成人小视频在线
|
亚洲经典一区
|
日韩在线高清
|
国产美女精品
|
免费高清av
|
成人h片在线观看
|
国产伦理一区
|
免费观看黄色片
|
一区二区三区四区在线播放
|
十八岁毛片
|
国产美女免费
|
日韩中文字幕一区二区三区
|
伊人精品
|
天天躁日日躁狠狠躁伊人
|
一级黄色录像带
|
国产欧美一区二区三区在线看蜜臀
|
中文在线观看视频
|
日韩精品网
|
成人一区在线观看
|
国产剧情在线
|
青娱乐99
|
亚洲综合第一页
|
五月天激情国产综合婷婷婷
|
亚州av在线
|