mirror of
https://git.aixiao.me/aixiao/Danger-alarm.git
synced 2025-07-29 19:13:39 +08:00
initial
This commit is contained in:
86
SOFTWARE-FreeRTOS/Source/main.c
Normal file
86
SOFTWARE-FreeRTOS/Source/main.c
Normal file
@@ -0,0 +1,86 @@
|
||||
/* Scheduler include files. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "semphr.h"
|
||||
|
||||
/* Standard demo includes. */
|
||||
#include "TimerDemo.h"
|
||||
#include "QueueOverwrite.h"
|
||||
#include "EventGroupsDemo.h"
|
||||
#include "IntSemTest.h"
|
||||
#include "TaskNotify.h"
|
||||
|
||||
#include "MAIN.h"
|
||||
#include "lwipopts.h"
|
||||
#include "common.h"
|
||||
|
||||
#ifndef PICO_DEFAULT_LED_PIN
|
||||
#warning pio/hello_pio example requires a board with a regular LED
|
||||
#define PICO_DEFAULT_LED_PIN 25
|
||||
#endif
|
||||
|
||||
void Led_Blinky(void *pvParameters)
|
||||
{
|
||||
(void)pvParameters;
|
||||
|
||||
const uint LED_PIN = PICO_DEFAULT_LED_PIN;
|
||||
gpio_init(LED_PIN);
|
||||
gpio_set_dir(LED_PIN, GPIO_OUT);
|
||||
|
||||
_printTaskStackHighWaterMark();
|
||||
|
||||
while (1) {
|
||||
vTaskDelay(pdMS_TO_TICKS(500));
|
||||
gpio_put(LED_PIN, 1);
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(500));
|
||||
gpio_put(LED_PIN, 0);
|
||||
|
||||
_printTaskStackHighWaterMark();
|
||||
}
|
||||
}
|
||||
|
||||
void Read_Onboard_Temperature(void *pvParameters)
|
||||
{
|
||||
(void)pvParameters;
|
||||
|
||||
adc_init();
|
||||
adc_set_temp_sensor_enabled(true);
|
||||
adc_select_input(4); // Input 4 is the onboard temperature sensor.
|
||||
|
||||
//_printTaskStackHighWaterMark();
|
||||
|
||||
while (1) {
|
||||
const float conversionFactor = 3.3f / (1 << 12);
|
||||
|
||||
float adc = (float)adc_read() * conversionFactor;
|
||||
float tempC = 27.0f - (adc - 0.706f) / 0.001721f;
|
||||
|
||||
printf("Onboard temperature %.02f°C %.02f°F\n", tempC, (tempC * 9 / 5 + 32));
|
||||
|
||||
//_printTaskStackHighWaterMark();
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(3000)); // 非阻塞延时
|
||||
}
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
stdio_init_all();
|
||||
sleep_ms(1000);
|
||||
//set_sys_clock_khz(250000, true);
|
||||
|
||||
BaseType_t xReturned;
|
||||
TaskHandle_t Led_Blinky_xHandle = NULL;
|
||||
|
||||
// 板载LED闪烁
|
||||
xReturned = xTaskCreate(Led_Blinky, "Blinky task", 512, NULL, tskIDLE_PRIORITY, &Led_Blinky_xHandle);
|
||||
if (xReturned == errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY)
|
||||
{
|
||||
printf("Blinky Task Error!");
|
||||
}
|
||||
|
||||
vTaskStartScheduler();
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user